Media negotiation method, device and system
By intervening in IMS network elements at the framework layer, media negotiation between IMS data channel applications is realized, solving the problem of the inability to negotiate data channels in existing technologies, and supporting the establishment of multiple IMS session contexts and efficient data channels.
Patent Information
- Application Number
- CN202311052515.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-18
- Publication Date
- 2025-02-21
AI Technical Summary
Existing IMS data channel applications are unable to negotiate data channel media with peer communication devices, resulting in an inability to provide rich communication services.
By receiving and sending media description information through the framework layer, and using IMS network elements to perform media negotiation, media negotiation services for data channels between IMS data channel applications are realized.
It enables media negotiation between IMS data channel applications, supports the establishment of data channels between the same communication device and multiple peer communication devices in multiple IMS session contexts, and supports specifying the quality of service parameters for the data channel.
Smart Images

Figure CN119496771A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communications, and more specifically, to a method, device and system for media negotiation. Background Art
[0002] Internet protocol (IP) multimedia subsystem (IMS) is a network architecture for providing multimedia communication services.
[0003] In IMS, IMS data channel applications (DC App) can provide users with richer communication services in addition to voice calls or video calls. For example, users can use data channel applications to conduct various communications such as screen sharing, location sharing, and augmented reality (AR) special effects.
[0004] Currently, although the IMSDC App running in the communication device can generate session description protocol (SDP) information through the WebRTC application programming interface (API), the IMSDC App cannot perform media negotiation on the data channel with the IMSDC App running in the peer communication device. Therefore, how to provide media negotiation services for the data channel for the IMSDC App is an urgent problem to be solved. Summary of the invention
[0005] The present application provides a method, device and system for media negotiation, which can provide a media negotiation service of a data channel for an IMSDC application.
[0006] In a first aspect, a method for media negotiation is provided, which can be performed by a first communication device or a component (such as a chip or circuit) of the first communication device. As an example, the first communication device can be a first terminal device.
[0007] The method includes: the framework layer receives first media description information from a first application, the first media description information is description information about media resources of a first data channel proposed by the first application, the first data channel is a channel between a first communication device and a second communication device for transmitting application data generated or consumed by the first application, and the framework layer and the first application are both running in the first communication device; the framework layer sends first SDP proposal information to the second communication device through an IMS network element, the first SDP proposal information includes the first media description information; the framework layer receives first SDP response information from the second communication device through the IMS network element, the first SDP response information includes second media description information, and the second media description information is a response to the first media description information; the framework layer sends the second media description information to the first application. Wherein, the framework layer includes an IMS component, and the first application is an IMSDC application.
[0008] Based on the above technical solution, the first application (IMSDC application) running on the first communication device can send the description information (first media description information) of the media resources of the first data channel proposed by the first application to the framework layer / IMS component running on the first communication device; the framework layer can send the first SDP proposal information containing the first media description information to the second communication device; after the second communication device receives the first SDP proposal information, it can send the first SDP response information containing the second media description information to the framework layer, and the second media description information is the response of the second communication device to the first media description information; thereby, it is possible to provide a media negotiation service for the data channel for the IMSDC application.
[0009] In combination with the first aspect, in certain implementations of the first aspect, the first SDP proposal information further includes third media description information and / or fourth media description information; the first SDP response information further includes fifth media description information and / or sixth media description information; wherein the third media description information is the description information of the media resources of the audio channel proposed by the framework layer, and the audio channel is used to transmit audio data of the call service of the first communication device; the fourth media description information is the description information of the media resources of the video channel proposed by the framework layer, and the video channel is used to transmit video data of the call service of the first communication device; the fifth media description information is a response to the fifth media description information, and the sixth media description information is a response to the sixth media description information.
[0010] Based on the above scheme, the framework layer running on the first communication device can merge the description information of the media resources of the first data channel (first media description information), the description information of the media resources of the audio channel (third media description information) and / or the description information of the media resources of the video channel (fourth media description information) into the first SDP proposal information and send them together to the second communication device; the second communication device can also merge the second media description information, the fifth media description information and / or the sixth media description information into the first SDP response information and send them together to the framework layer running on the first communication device.
[0011] In combination with the first aspect, in some implementations of the first aspect, both the first SDP proposal information and the first SDP response information indicate a corresponding relationship between the first application and the first data channel.
[0012] Based on the above solution, when an IMS session supports only one IMSDC application and the second communication device has not downloaded the first application, the first SDP proposal information indicates the correspondence between the first application and the first data channel, so that the second communication device can download the first application according to the correspondence between the first application and the first data channel. When an IMS session supports multiple IMSDC applications, the first SDP proposal information indicates the correspondence between the first application and the first data channel, so that the second communication device can know which application uses the first data channel.
[0013] In combination with the first aspect, in certain implementations of the first aspect, the first media description information and the second media description information both include a first attribute line and a second attribute line, the first attribute line includes parameter information of the first data channel, the parameter information includes an identifier of the first data channel, and the second attribute line includes an identifier of the first application and an identifier of the first data channel; or, the first media description information and the second media description information both include a third attribute line, the third attribute line includes parameter information of the first data channel and an identifier of the first application, and the parameter information includes an identifier of the first data channel.
[0014] In combination with the first aspect, in certain implementations of the first aspect, the method also includes: the framework layer receives a first quality of service QoS parameter set from the first application, the first QoS parameter set including at least one QoS parameter proposed by the first application regarding the first data channel; the first SDP proposal information also indicates the correspondence between the first QoS parameter set and the first media description information; the first SDP response information also indicates the correspondence between a second QoS parameter set and the second media description information, the second QoS parameter set being a response of the second communication device to the first QoS parameter set.
[0015] In combination with the first aspect, in some implementations of the first aspect, the first media description information includes the first QoS parameter set, and the second media description information includes the second QoS parameter set. Based on the above solution, it is possible to support IMSDC application to specify the QoS parameters of the DC.
[0016] In combination with the first aspect, in some implementations of the first aspect, the at least one QoS parameter includes packet loss rate and delay.
[0017] In combination with the first aspect, in some implementations of the first aspect, the method further includes: the framework layer also receives first indication information from the first application, and the first indication information indicates that the first data channel uses an independent bearer.
[0018] In combination with the first aspect, in certain implementations of the first aspect, the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment of the first SDP proposal information, the seventh media description information is description information about media resources of a second data channel, and the second data channel is used for transmitting application data generated or consumed by the first application or the second application between the first communication device and the second communication device or the third communication device; the second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment of the first SDP response information, and the eighth media description information is a response to the seventh media description information.
[0019] Exemplarily, in the case where the first SDP proposal information also indicates the correspondence between the first QoS parameter set and the first media description information, the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information, and the second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment in the first SDP response information. Alternatively, in the case where the framework layer receives the first indication information from the first application, the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information, and the second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment in the first SDP response information.
[0020] Based on the above solution, when the second data channel is used between the first communication device and the second communication device to transmit application data generated or consumed by the second application, different IMSDC applications can share one IMS session context. When the second data channel is used between the first communication device and the third communication device to transmit application data generated or consumed by the first application or the second application, it can be supported that the same communication device establishes data channels with multiple opposite communication devices in one IMS session context.
[0021] In combination with the first aspect, in certain implementations of the first aspect, the first media description information and the seventh media description information are included in the fifth m segment of the first SDP proposal information, and the seventh media description information is description information about media resources of a second data channel, where the second data channel is used between the first communication device and the second communication device or the third communication device to transmit application data generated or consumed by the first application or the second application; the second media description information and the eighth media description information are included in the sixth m segment of the first SDP response information, and the eighth media description information is a response to the seventh media description information.
[0022] Exemplarily, when the first SDP proposal information does not indicate the correspondence between the first QoS parameter set and the first media description information, and the framework layer does not receive the first indication information from the first application, the first media description information and the seventh media description information are included in the fifth m segment of the first SDP proposal information, and the second media description information and the eighth media description information are included in the sixth m segment of the first SDP response information.
[0023] Based on the above solution, when the second data channel is used between the first communication device and the second communication device to transmit application data generated or consumed by the second application, different IMSDC applications can share one IMS session context. When the second data channel is used between the first communication device and the third communication device to transmit application data generated or consumed by the first application or the second application, it can be supported that the same communication device establishes data channels with multiple opposite communication devices in one IMS session context.
[0024] In combination with the first aspect, in some implementations of the first aspect, the first communication device is a first terminal device; the second communication device is a second terminal device or a server corresponding to the first application.
[0025] In combination with the first aspect, in some implementations of the first aspect, the IMS network element includes a proxy call session control function P-CSCF network element. The IMS network element is one or more IMS network elements in the IMS network.
[0026] In a second aspect, a method for media negotiation is provided. The method can be performed by a second communication device, or by a component (such as a chip or circuit, etc.) of the second communication device. As an example, the second communication device can be a second terminal device, or the second communication device can be a server corresponding to the first application.
[0027] The communication method includes: a framework layer receives first SDP proposal information from a first communication device through an IMS network element, the first SDP proposal information includes first media description information, the first media description information is description information about media resources of a first data channel, the first data channel is a channel between the first communication device and a second communication device for transmitting application data generated or consumed by the first application, and the framework layer runs in the second communication device; the framework layer sends the first media description information to the first application, and the first application runs in the second communication device; the framework layer receives second media description information from the first application, and the second media description information is a response of the first application to the first media description information; the framework layer sends first SDP response information to the first communication device through the IMS network element, and the first SDP response information includes the second media description information.
[0028] Based on the above technical solution, after the framework layer / IMS component running on the second communication device receives the first SDP proposal information containing the first media description information from the first communication device, the first media description information can be sent to the first application (IMSDC application) running on the second communication device; after receiving the first media description information, the first application sends the second media description information to the framework layer, and the second media description information is a response to the first media description information; the framework layer can send the first SDP response information containing the second media description information to the first communication device; thereby, it is possible to implement a media negotiation service that provides a data channel for the IMSDC application.
[0029] In combination with the second aspect, in certain implementations of the second aspect, the first SDP proposal information further includes third media description information and / or fourth media description information; the first SDP response information further includes fifth media description information and / or sixth media description information; wherein the third media description information is description information about media resources of an audio channel proposed by the first communication device, and the audio channel is used to transmit audio data of a call service of the first communication device; the fourth media description information is description information about media resources of a video channel proposed by the first communication device, and the video channel is used to transmit video data of a call service of the first communication device; the fifth media description information is a response to the fifth media description information; and the sixth media description information is a response to the sixth media description information.
[0030] Based on the above scheme, the framework layer running on the first communication device can merge the description information of the media resources of the first data channel (first media description information), the description information of the media resources of the audio channel (third media description information) and / or the description information of the media resources of the video channel (fourth media description information) into the first SDP proposal information and send them together to the second communication device; the second communication device can also merge the second media description information, the fifth media description information and / or the sixth media description information into the first SDP response information and send them together to the framework layer running on the first communication device.
[0031] In combination with the second aspect, in certain implementations of the second aspect, both the first SDP proposal information and the first SDP response information indicate a corresponding relationship between the first application and the first data channel.
[0032] Based on the above solution, when an IMS session supports only one IMSDC application and the second communication device has not downloaded the first application, the first SDP proposal information indicates the correspondence between the first application and the first data channel, so that the second communication device can download the first application according to the correspondence between the first application and the first data channel. When an IMS session supports multiple IMSDC applications, the first SDP proposal information indicates the correspondence between the first application and the first data channel, so that the second communication device can know which application uses the first data channel.
[0033] In combination with the second aspect, in certain implementations of the second aspect, the first media description information and the second media description information both include a first attribute line and a second attribute line, the first attribute line includes parameter information of the first data channel, the parameter information includes an identifier of the first data channel, and the second attribute line includes an identifier of the first application and an identifier of the first data channel; or, the first media description information and the second media description information both include a third attribute line, the third attribute line includes parameter information of the first data channel and an identifier of the first application, and the parameter information includes an identifier of the first data channel.
[0034] In combination with the second aspect, in certain implementations of the second aspect, the first SDP proposal information also indicates the correspondence between a first QoS parameter set and the first media description information, and the first QoS parameter set includes at least one QoS parameter proposed by the first application regarding the first data channel; the first SDP response information also indicates the correspondence between a second QoS parameter set and the second media description information, and the second QoS parameter set is a response of the second communication device to the first QoS parameter set.
[0035] In conjunction with the second aspect, in some implementations of the second aspect, the first media description information includes the first QoS parameter set, and the second media description information includes the second QoS parameter set. Based on the above solution, it is possible to support IMSDC application to specify the QoS parameters of the DC.
[0036] In combination with the second aspect, in some implementations of the second aspect, the at least one QoS parameter includes packet loss rate and delay.
[0037] In combination with the second aspect, in certain implementations of the second aspect, the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment of the first SDP proposal information, the seventh media description information is description information about media resources of a second data channel, and the second data channel is used for transmitting application data generated or consumed by the first application or the second application between the first communication device and the second communication device or the third communication device; the second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment of the first SDP response information, and the eighth media description information is a response to the seventh media description information.
[0038] Exemplarily, in the case where the first SDP proposal information also indicates the correspondence between the first QoS parameter set and the first media description information, the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information, and the second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment in the first SDP response information. Alternatively, in the case where the framework layer receives the first indication information from the first application, the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information, and the second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment in the first SDP response information.
[0039] Based on the above solution, when the second data channel is used between the first communication device and the second communication device to transmit application data generated or consumed by the second application, different IMSDC applications can share one IMS session context. When the second data channel is used between the first communication device and the third communication device to transmit application data generated or consumed by the first application or the second application, it can be supported that the same communication device establishes data channels with multiple opposite communication devices in one IMS session context.
[0040] In combination with the second aspect, in certain implementations of the second aspect, the first media description information and the seventh media description information are included in the fifth m segment of the first SDP proposal information, and the seventh media description information is description information about the media resources of the second data channel, and the second data channel is used for transmitting application data generated or consumed by the first application or the second application between the first communication device and the second communication device or the third communication device; the second media description information and the eighth media description information are included in the sixth m segment of the first SDP response information, and the eighth media description information is a response to the seventh media description information.
[0041] Exemplarily, when the first SDP proposal information does not indicate the correspondence between the first QoS parameter set and the first media description information, and the framework layer does not receive the first indication information from the first application, the first media description information and the seventh media description information are included in the fifth m segment of the first SDP proposal information, and the second media description information and the eighth media description information are included in the sixth m segment of the first SDP response information.
[0042] Based on the above solution, when the second data channel is used between the first communication device and the second communication device to transmit application data generated or consumed by the second application, different IMSDC applications can share one IMS session context. When the second data channel is used between the first communication device and the third communication device to transmit application data generated or consumed by the first application or the second application, it can be supported that the same communication device establishes data channels with multiple opposite communication devices in one IMS session context.
[0043] In combination with the second aspect, in some implementations of the second aspect, the first communication device is a first terminal device; the second communication device is a second terminal device or a server corresponding to the first application.
[0044] In conjunction with the second aspect, in some implementations of the second aspect, the IMS network element includes a P-CSCF network element. The IMS network element is one or more IMS network elements in an IMS network.
[0045] In a third aspect, a communication device is provided, the communication device comprising: a framework layer, configured to receive first media description information from a first application, the first media description information being description information of a media resource proposed by the first application on a first data channel, the first data channel being a channel between a first communication device and a second communication device for transmitting application data generated or consumed by the first application, the framework layer and the first application both running in the first communication device;
[0046] The framework layer is further used to send first SDP proposal information to the second communication device through the IMS network element, where the first SDP proposal information includes the first media description information;
[0047] The framework layer is further used to receive first SDP response information from the second communication device, where the first SDP response information includes second media description information, and the second media description information is a response to the first media description information;
[0048] The framework layer is further used to send the second media description information to the first application.
[0049] In combination with the third aspect, in certain implementations of the third aspect, the first SDP proposal information also includes third media description information and / or fourth media description information; the first SDP response information also includes fifth media description information and / or sixth media description information; wherein the third media description information is the description information of the media resources of the audio channel proposed by the framework layer, and the audio channel is used to transmit audio data of the call service of the first communication device; the fourth media description information is the description information of the media resources of the video channel proposed by the framework layer, and the video channel is used to transmit video data of the call service of the first communication device; the fifth media description information is a response to the fifth media description information, and the sixth media description information is a response to the sixth media description information.
[0050] In combination with the third aspect, in certain implementations of the third aspect, the first SDP proposal information and the first SDP response information both indicate a corresponding relationship between the first application and the first data channel.
[0051] In combination with the third aspect, in certain implementations of the third aspect, the first media description information and the second media description information both include a first attribute line and a second attribute line, the first attribute line includes parameter information of the first data channel, the parameter information includes an identifier of the first data channel, and the second attribute line includes an identifier of the first application and an identifier of the first data channel; or, the first media description information and the second media description information both include a third attribute line, the third attribute line includes parameter information of the first data channel and an identifier of the first application, and the parameter information includes an identifier of the first data channel.
[0052] In combination with the third aspect, in certain implementations of the third aspect, the framework layer is also used to receive a first quality of service QoS parameter set from the first application, the first QoS parameter set including at least one QoS parameter proposed by the first application regarding the first data channel; the first SDP proposal information also indicates the correspondence between the first QoS parameter set and the first media description information; the first SDP response information also indicates the correspondence between the second QoS parameter set and the second media description information, the second QoS parameter set being the response of the second communication device to the first QoS parameter set.
[0053] In combination with the third aspect, in certain implementations of the third aspect, the first media description information includes the first QoS parameter set, and the second media description information includes the second QoS parameter set.
[0054] In combination with the third aspect, in certain implementations of the third aspect, the at least one QoS parameter includes packet loss rate and delay.
[0055] In combination with the third aspect, in some implementations of the third aspect, the framework layer is further used to receive first indication information from the first application, where the first indication information indicates that the first data channel uses an independent bearer.
[0056] In combination with the third aspect, in certain implementations of the third aspect, the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment of the first SDP proposal information, and the seventh media description information is description information about media resources of a second data channel, and the second data channel is used for transmitting application data generated or consumed by the first application or the second application between the first communication device and the second communication device or the third communication device; the second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment of the first SDP response information, and the eighth media description information is a response to the seventh media description information.
[0057] In combination with the third aspect, in certain implementations of the third aspect, the first media description information and the seventh media description information are included in the fifth m segment of the first SDP proposal information, and the seventh media description information is description information about the media resources of the second data channel, and the second data channel is used between the first communication device and the second communication device or the third communication device to transmit application data generated or consumed by the first application or the second application; the second media description information and the eighth media description information are included in the sixth m segment of the first SDP response information, and the eighth media description information is a response to the seventh media description information.
[0058] In combination with the third aspect, in certain implementations of the third aspect, the first communication device is a first terminal device; the second communication device is a second terminal device or a server corresponding to the first application.
[0059] In combination with the third aspect, in some implementations of the third aspect, the IMS network element includes a P-CSCF network element.
[0060] In a fourth aspect, a framework layer is provided, the communication device comprising: a framework layer, configured to receive first SDP proposal information from a first communication device through an IMS network element, the first SDP proposal information comprising first media description information, the first media description information being description information of a media resource about a first data channel proposed by a first application, the first data channel being a channel between the first communication device and a second communication device for transmitting application data generated or consumed by the first application, the first application running in the first communication device and the second communication device, and the framework layer running in the second communication device;
[0061] The framework layer is further used to send the first media description information to the first application;
[0062] The framework layer is further used to receive second media description information from the first application, where the second media description information is a response to the first media description information;
[0063] The framework layer is further used to send first SDP response information to the first communication device through the IMS network element, where the first SDP response information includes the second media description information.
[0064] In combination with the fourth aspect, in certain implementations of the fourth aspect, the first SDP proposal information further includes third media description information and / or fourth media description information; the first SDP response information further includes fifth media description information and / or sixth media description information; wherein the third media description information is description information about media resources of an audio channel proposed by the first communication device, and the audio channel is used to transmit audio data of a call service of the first communication device; the fourth media description information is description information about media resources of a video channel proposed by the first communication device, and the video channel is used to transmit video data of a call service of the first communication device; the fifth media description information is a response to the fifth media description information; and the sixth media description information is a response to the sixth media description information.
[0065] In combination with the fourth aspect, in certain implementations of the fourth aspect, the first SDP proposal information and the first SDP response information both indicate a correspondence between the first application and the first data channel.
[0066] In combination with the fourth aspect, in certain implementations of the fourth aspect, the first media description information and the second media description information both include a first attribute line and a second attribute line, the first attribute line includes parameter information of the first data channel, the parameter information includes an identifier of the first data channel, and the second attribute line includes an identifier of the first application and an identifier of the first data channel; or, the first media description information and the second media description information both include a third attribute line, the third attribute line includes parameter information of the first data channel and an identifier of the first application, and the parameter information includes an identifier of the first data channel.
[0067] In combination with the fourth aspect, in certain implementations of the fourth aspect, the first SDP proposal information also indicates the correspondence between a first QoS parameter set and the first media description information, and the first QoS parameter set includes at least one QoS parameter proposed by the first application regarding the first data channel; the first SDP response information also indicates the correspondence between a second QoS parameter set and the second media description information, and the second QoS parameter set is a response of the second communication device to the first QoS parameter set.
[0068] In combination with the fourth aspect, in certain implementations of the fourth aspect, the first media description information includes the first QoS parameter set, and the second media description information includes the second QoS parameter set.
[0069] In combination with the fourth aspect, in certain implementations of the fourth aspect, the at least one QoS parameter includes packet loss rate and delay.
[0070] In combination with the fourth aspect, in certain implementations of the fourth aspect, the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment of the first SDP proposal information, the seventh media description information is description information about media resources of a second data channel, and the second data channel is used for transmitting application data generated or consumed by the first application or the second application between the first communication device and the second communication device or the third communication device; the second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment of the first SDP response information, and the eighth media description information is a response to the seventh media description information.
[0071] In combination with the fourth aspect, in certain implementations of the fourth aspect, the first media description information and the seventh media description information are included in the fifth m segment of the first SDP proposal information, and the seventh media description information is description information about the media resources of the second data channel, and the second data channel is used for transmitting application data generated or consumed by the first application or the second application between the first communication device and the second communication device or the third communication device; the second media description information and the eighth media description information are included in the sixth m segment of the first SDP response information, and the eighth media description information is a response to the seventh media description information.
[0072] In combination with the fourth aspect, in certain implementations of the fourth aspect, the first communication device is a first terminal device; the second communication device is a second terminal device or a server corresponding to the first application.
[0073] In combination with the fourth aspect, in some implementations of the fourth aspect, the IMS network element includes a P-CSCF network element.
[0074] In a fifth aspect, the present application provides a processor for executing the method provided in the first aspect or the second aspect. In the process of executing these methods, the process of sending the above-mentioned information and obtaining / receiving the above-mentioned information in the above-mentioned method can be understood as the process of the processor outputting the above-mentioned information and the process of the processor receiving the above-mentioned information input. When outputting the above-mentioned information, the processor outputs the above-mentioned information to the transceiver so that it can be transmitted by the transceiver. After being output by the processor, the above-mentioned information may also need to be processed in other ways before reaching the transceiver. Similarly, when the processor receives the above-mentioned input information, the transceiver obtains / receives the above-mentioned information and inputs it into the processor. Furthermore, after the transceiver receives the above-mentioned information, the above-mentioned information may need to be processed in other ways before being input into the processor.
[0075] Based on the above principles, for example, the receiving of media description information mentioned in the above method can be understood as the processor receiving input information.
[0076] For the operations such as transmission, sending and acquisition / reception involved in the processor, unless otherwise specified, or unless they conflict with their actual functions or internal logic in the relevant descriptions, they can be more generally understood as processor output, reception, input and other operations, rather than transmission, sending and receiving operations performed directly by the RF circuit and antenna.
[0077] In the implementation process, the processor may be a processor specifically used to execute these methods, or a processor that executes computer instructions in a memory to execute these methods, such as a general-purpose processor. The memory may be a non-transitory memory, such as a read-only memory (ROM), which may be integrated with the processor on the same chip or may be separately arranged on different chips. The embodiment of the present application does not limit the type of memory and the arrangement of the memory and the processor.
[0078] In a sixth aspect, a computer-readable storage medium is provided, which stores a program code for execution by a device, wherein the program code includes code for executing the method provided in the first aspect or the second aspect above.
[0079] In a seventh aspect, a computer program product comprising instructions is provided. When the computer program product is run on a computer, the computer is caused to execute the method provided in the first aspect or the second aspect.
[0080] In an eighth aspect, a chip is provided, which includes a processor and a communication interface, and the processor reads instructions stored in a memory through the communication interface to execute the method provided in the first or second aspect above.
[0081] Optionally, as an implementation method, the chip may also include a memory, in which instructions are stored, and the processor is used to execute the instructions stored in the memory. When the instructions are executed, the processor is used to execute the method provided by the first aspect or the second aspect above.
[0082] In a ninth aspect, a communication system is provided, comprising a first communication device for executing the method as shown in the first aspect, and a second communication device for executing the method as shown in the second aspect.
[0083] The solutions provided in the third to ninth aspects are used to implement or cooperate with the methods provided in the first or second aspects, and therefore can achieve the same or corresponding beneficial effects as the first or second aspects, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0084] Figure 1 It is a schematic diagram of a network architecture applicable to an embodiment of the present application.
[0085] Figure 2 It is a schematic diagram of another network architecture applicable to an embodiment of the present application.
[0086] Figure 3 It is a schematic diagram of a data channel protocol stack based on SCTP / DTLS / UDP / IP.
[0087] Figure 4 It is a schematic diagram of the Offer / Answer model.
[0088] Figure 5 It is a model diagram of the media description information of the audio channel, video channel, and data channel in an IMS session.
[0089] Figure 6 This is an example of an architecture diagram of a terminal device that supports IMSDC in an Android operating system.
[0090] Figure 7 This is a schematic diagram of the WebRTC architecture.
[0091] Figure 8 is an example of SDP information.
[0092] Fig. 9 It is a schematic diagram of the interaction between a web application and a JSEP implementation.
[0093] Fig.10 It is a schematic diagram of the WebRTC call flow.
[0094] Fig.11 This is an example of an architecture diagram of a terminal device supporting IMSDC according to an embodiment of the present application.
[0095] Fig.12 This is an exemplary flowchart of the media negotiation method provided in an embodiment of the present application.
[0096] Fig.13 This is an example of the corresponding relationship between the first application and the first data channel.
[0097] Fig.14 This is another example of the corresponding relationship between the first application and the first data channel.
[0098] Fig.15 is an example of a QoS parameter.
[0099] Fig.16 This is an example of the correspondence between the QoS parameter and the first application and the first data channel.
[0100] Fig.17 This is an example of the correspondence between the QoS parameter and the first application and the first data channel.
[0101] Fig.18 This is an example of merging media description information from different data channels.
[0102] Fig.19 This is an example of splitting media description information for different data channels.
[0103] Fig. 20 This is another exemplary flowchart of the media negotiation method provided in an embodiment of the present application.
[0104] Fig.21 This is another exemplary flowchart of the media negotiation method provided in an embodiment of the present application.
[0105] Fig. 22 This is another exemplary flowchart of the media negotiation method provided in an embodiment of the present application.
[0106] Fig.23 It is a schematic block diagram of a communication device provided in an embodiment of the present application.
[0107] Fig.24 It is a schematic diagram of another communication device provided in an embodiment of the present application.
[0108] Fig.25 It is a schematic diagram of the chip system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0109] In order to make the purpose, technical solution and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings. The specific operation method in the method embodiment can also be applied to the device embodiment or the system embodiment. In the description of the present application, unless otherwise specified, the meaning of "multiple" is two or more.
[0110] In the various embodiments of the present application, unless otherwise specified or provided for in any logical conflict, the terms and / or descriptions between the different embodiments are consistent and may be referenced to each other, and the technical features in the different embodiments may be combined to form new embodiments according to their inherent logical relationships.
[0111] It is understood that the various numbers involved in this application are only used for the convenience of description and are not used to limit the scope of this application. The order of execution of each process should be determined by its function and internal logic.
[0112] The terms "first", "second", "third", "fourth" and various other terminology labels (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0113] The technical solution provided in this application can be applied to various communication systems, such as: the fifth generation (5th generation, 5G) communication system (or called the new radio (new radio, NR) system), the fourth generation (4th generation, 4G) communication system (or called the long term evolution (long term evolution, LTE) system), LTE frequency division duplex (frequency division duplex, FDD) system, LTE time division duplex (time division duplex, TDD) system, etc. The technical solution provided in this application can also be applied to future communication systems, such as the sixth generation (6th generation, 6G) mobile communication system.
[0114] Combine the following Figure 1 An example of a communication system 100 applicable to the embodiment of the present application is given below. It is to be understood that the communication system described in the present application is only an example and shall not constitute any limitation to the present application. Figure 1 The network elements (or functional network elements, functional entities, nodes, devices, etc.) shown in FIG. 1 are briefly introduced as follows:
[0115] 1. User equipment (UE): UE can be any device that can access the network, and can also be called terminal equipment, terminal device, access terminal, user unit, user station, mobile station, mobile station (MS), mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent or user device, etc. UE can be a device that provides voice / data connectivity to users, such as a handheld device with wireless connection function, a vehicle-mounted device, etc. At present, some examples of terminals may be: mobile phones, tablet computers, computers with wireless transceiver functions (such as laptops, PDAs, etc.), mobile Internet devices (MID), virtual reality (VR) devices, AR devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication functions, computing devices or other processing devices connected to wireless modems, vehicle-mounted devices, wearable devices, terminal devices in 4G / 5G networks, or public land mobile communication networks that will evolve in the future. network, PLMN) and other terminal devices.
[0116] In addition, UE can also be a UE in the Internet of Things (IoT) system. IoT is an important part of the future development of information technology. Its main technical feature is to connect objects to the network through communication technology, thereby realizing an intelligent network of human-machine interconnection and object-object interconnection. IoT technology can achieve massive connections, deep coverage, and terminal power saving through narrow band (NB) technology, for example.
[0117] In addition, UE can also include smart printers, train detectors, etc. Its main functions include collecting data (part of the terminal equipment), receiving control information and downlink data from network equipment, and sending electromagnetic waves to transmit uplink data to network equipment.
[0118] Optionally, the UE can be used to act as a base station. For example, the user equipment can act as a scheduling entity that provides sidelink signals between user equipment in vehicle to everything (V2X) or device to device (D2D). For example, a cell phone and a car communicate with each other using sidelink signals. A cell phone and a smart home device communicate with each other without relaying the communication signal through a base station.
[0119] In the network architecture provided in the embodiment of the present application, different UEs can make IMS calls through the IMS network. For example, Figure 1 UE 1 and UE 2 in the figure can make an IMS call through the IMS network, wherein UE 2 can be referred to as the peer device of the IMS call made by UE 1, and similarly, UE 1 can be referred to as the peer device of the IMS call made by UE 2. Assuming that UE 1 is the device that initiates the call, for UE 1, the IMS network serving UE 1 can be referred to as the local IMS network (Local IMS), and the IMS network serving UE 2 can be referred to as the remote IMS network (Remote IMS). It can be understood that the network element architecture inside the remote IMS network is similar to the network element architecture inside the local IMS network. For the sake of simplicity, the network element architecture inside the remote IMS network is not shown in the figure.
[0120] 2. Call session control function (CSCF) network element: CSCF 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 manages IMS user authentication, IMS bearer plane quality of service (QoS), cooperates with other network elements to control session initiation protocol (SIP) sessions, as well as service negotiation and resource allocation. For the sake of convenience, the CSCF network element in this application is referred to as "CSCF".
[0121] The CSCF may communicate with the terminal device, and the CSCF may communicate with the gateway device. For example, the CSCF may select a gateway device to communicate with the terminal device, and the CSCF may allocate routing information, such as an IP address or port, to the terminal device and the gateway device.
[0122] As an example but not limitation, CSCF is divided into proxy CSCF (P-CSCF), interrogating CSCF (I-CSCF), serving CSCF (S-CSCF), etc. according to function.
[0123] Among them, P-CSCF is the entry node for users to access the IMS network, and is mainly responsible for forwarding SIP signaling between IMS users and their home networks. I-CSCF is the unified entry point for IMS users' home networks, and is responsible for allocating or querying S-CSCFs that serve users. S-CSCF is responsible for the registration, authentication, session, routing, and service triggering of IMS users.
[0124] It can be understood that the above-mentioned P-CSCF, S-CSCF, and I-CSCF can be independently configured in different entities or integrated in the same entity, and this application does not limit this.
[0125] 3. IMS access media gateway (AGW): IMS AGW can provide IMS network access gateway and media gateway functions.
[0126] It is understandable that CSCF and IMS AGW can be collectively referred to as IMS core. This application does not limit the signaling interaction mode between network elements in the IMS core.
[0127] 4. Data channel server (DCS): DCS can be divided into two logical functional entities: data channel signaling function (DCSF) network element and media function (MF) network element. Among them, MF network element is used to provide data channel media resource management function, and DCSF network element is used to provide data channel signaling control function.
[0128] It is understandable that in actual network deployment, the DCSF network element and the MF network element may be jointly provided (referred to as a DCS in this case) or separately provided, and this application does not limit this.
[0129] 5. Data channel application repository (DCAR): DCAR is a warehouse used to store DC App.
[0130] After a developer completes the development of a DC App, he / she uploads it to the operator's DCS, which then saves it to DCAR. When needed, DCS downloads the DC App from DCAR to the local computer for subsequent processing.
[0131] 6. Home Subscriber Server (HSS): HSS is a database for storing user information in IMS, where users save user data. As an example and not a limitation, user data may include information about data channel services that users have signed a contract with an operator to use.
[0132] 7. IMS application server (AS): IMS AS is the top-level application layer device in the IMS system, providing basic and supplementary services, such as multimedia conferencing, converged communications, SMS gateway, standard switchboard, etc. The IMS network is an open system based on IP bearer that provides users with various multimedia services. The IMS AS interacts with the CSCF to trigger and execute various network services. In addition, the terminal device communicates with the IMS AS, and the IMS AS can establish a data channel for the terminal device.
[0133] 8. Data channel application server (DC AS): DC AS is used to provide data channel business logic.
[0134] 9. Network exposure function (NEF) network element: NEF network element is used to securely open various services of the 5GC network to third parties.
[0135] It can be understood that the above-mentioned network architecture applied to the embodiment of the present application is only an example, and the network architecture applicable to the embodiment of the present application is not limited to this. Any network architecture that can realize the functions of the above-mentioned network elements is applicable to the embodiment of the present application, that is, the network architecture and business scenarios described in the embodiment of the present application are for the purpose of more clearly illustrating the technical solution of the embodiment of the present application, and do not constitute a limitation on the technical solution provided in the embodiment of the present application. Ordinary technicians in this field can know that with the evolution of network architecture and the emergence of new business scenarios, the technical solution provided in the embodiment of the present application is also applicable to similar technical problems.
[0136] It can also be understood that the network elements or devices listed in the above network architecture are only exemplary, and the network architecture applicable to the present application may also include other network elements or devices, which is not limited in the present application.
[0137] It is also understandable that the naming of the above network elements or devices is only defined for the convenience of distinguishing different functions and should not constitute any limitation to this application. This application does not exclude the possibility of using other names in 4G networks, 5G networks and other future networks. For example, in a 6G network, some or all of the above network elements may use the terminology in 4G / 5G, or may use other names.
[0138] The communication device in the embodiment of the present application (for example, the above-mentioned terminal device, CSCF device or AS device, etc.) includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU) and a memory (also called main memory). The operating system can be any one or more computer operating systems that implement business processing through a process (Process), for example, a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system or a windows operating system. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software. In addition, the embodiment of the present application does not specifically limit the specific structure of the execution subject of the method provided in the embodiment of the present application, as long as it can communicate according to the method provided in the embodiment of the present application by running a program that records the code of the method provided in the embodiment of the present application, for example, the execution subject of the method provided in the embodiment of the present application can be a terminal device or a network device, or a functional module in a terminal device or a network device that can call and execute a program.
[0139] In addition, various aspects or features of the embodiments of the present application can be implemented as methods, devices or products using standard programming and / or engineering techniques. The term "product" used in this application covers computer programs that can be accessed from any computer-readable device, carrier or medium. For example, computer-readable media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks or tapes, etc.), optical disks (e.g., compact discs (CDs), digital versatile discs (DVDs), etc.), smart cards and flash memory devices (e.g., erasable programmable read-only memory (EPROM), cards, sticks or key drives, etc.). In addition, the various storage media described herein may represent one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing and / or carrying instructions and / or data.
[0140] In order to facilitate understanding of the technical solutions of the embodiments of the present application, before introducing the solutions of the embodiments of the present application, some terms or concepts that may be involved in the embodiments of the present application are first introduced.
[0141] 1. IMS Session
[0142] The IMS session described in the embodiment of the present application refers to a service in which a communication device participates as a caller or a called party and conducts a voice call or a video call with one or more other communication devices through a network element in the IMS. An IMS session may also be referred to as an IMS call, or an IMS call, etc.
[0143] An IMS session may cover the entire process from the start of dialing to the end of a call, or may cover a portion of the process from the start of dialing to the end of a call, such as the process from when the parties involved in the IMS session enter a call state to when the call ends.
[0144] An IMS session can be a one-to-one session or a one-to-many session (such as a conference). The embodiment of the present application takes the one-to-one session as an example, but related solutions can also be used in the one-to-many session.
[0145] 2. Voice calls and video calls
[0146] The voice call described in the embodiment of the present application refers to a call between user devices of each participant in an IMS session through real-time transmission of audio content to achieve the purpose of voice interaction; the video call described in the embodiment of the present application refers to a call between user devices of each participant in an IMS session through real-time transmission of audio content and / or video content to achieve the purpose of video interaction. Voice calls and video calls can be collectively referred to as audio and video calls.
[0147] 3. Additional Communication Information
[0148] The additional communication information described in the embodiment of the present application is used for communication between the devices of the various participants in the IMS session other than voice calls or video calls. In other words, the additional communication information is information used for communication between the devices of the various participants in the IMS call service other than audio and video interaction content.
[0149] As an example, the additional communication information may include at least one of the following: content captured by a camera of a user device, information generated by a thumb up, information generated by sending a red envelope, desktop sharing content, marks drawn by a user on the screen, text messages input by a user, picture information input by a user, geographic location information, or video content in a video file, etc. Such information may be produced or consumed by any one of the calling party terminal device or the called party terminal device, or may be produced or consumed by a device connected to the calling party terminal device or the called party terminal device.
[0150] In the embodiment of the present application, the additional communication information can be transmitted (sent or received) by the data channel application on the terminal device of the participant of the IMS session through the data channel, and processed accordingly (presented, controlled, etc.). The additional communication information in the embodiment of the present application can be understood as application data generated or consumed by the data channel application.
[0151] 4. Data Channel
[0152] The data channel in the embodiment of the present application is also referred to as an IMS data channel (IMS data channel, IMSDC), that is, a data channel in the IMS.
[0153] For example, DC can provide users with richer real-time interactive services in addition to audio and video calls. For example, terminal devices (such as Figure 2 UE 1 and UE 2 in the IMS determine the IP address and port used by the two terminal devices to transmit data, the transmission protocol used, the key information required by the transport layer protocol, and the description information corresponding to the data channel through the SIP / SDP media negotiation process of the IMS, so as to establish one or more data channels (such as Speech and Video) in parallel with the audio (Speech) and video (Video) in the IMS session. Figure 2 data channels shown).
[0154] The data channel can be used to transmit data based on the stream control transmission protocol (SCTP), and can also be used to transmit data based on other transport layer protocols, which is not limited in this application. Figure 3 A schematic diagram of a data channel protocol stack based on SCTP / datagram transport layer security (DTLS) / user datagram protocol (UDP) / IP is shown. UE 1 and UE 2 can download various applications (i.e., DC App) from the network side DCSF through the data channel, and run these applications before, during, or after the audio or video call. By transmitting various types of application data of these applications in the data channel, UE 1 and UE 2 can communicate in addition to voice calls or video calls, such as screen sharing, simultaneous translation, location sharing, superimposed AR special effects, and even synchronized immersive interactions such as hearing, vision, and touch, so as to enhance user experience.
[0155] According to different uses, data channels can be divided into two types: bootstrap data channel (BDC) and application data channel (ADC).
[0156] Among them, BDC is used by terminal devices to obtain DC App from DCSF.
[0157] Terminal equipment that supports data channel capabilities can establish BDC with the DCSF of the call origination network and / or the DCSF of the call termination network. The specific method depends on whether each network supports data channel capabilities and the service contract status of the terminal equipment of the two parties in their respective networks.
[0158] In addition, illustratively, the data may be transmitted via the BDC using the hypertext transfer protocol (HTTP), and the stream ID value of the BDC may be less than 1000.
[0159] ADC is used to transmit the interactive data / application data generated by the DC App running on both communicating parties. In the P2P scenario, ADC is established between the terminal devices of the two communicating parties. At this time, ADC is used to transmit the interactive data / application data generated by the DC App running on the terminal devices of both communicating parties.
[0160] In addition, any protocol may be used to transmit data through the ADC. Exemplarily, the stream ID value of the ADC may be greater than or equal to 1000.
[0161] 5. Data Channel Application
[0162] The data channel application in the embodiment of the present application may also be referred to as an IMSDC application (IMS data channel application, IMS DC App), which may be used to transmit additional communication information through a data channel between multiple terminal devices in the same IMS call service. As an example, the data channel application is a web content including hypertext markup language (HTML), JavaScript scripts, images, and cascading style sheets (CSS), which describes a graphical user interface (UI) and can implement interactive business logic.
[0163] The data channel application can usually be downloaded from the network side by the call application on the terminal device and run during the IMS call without installation and uninstallation. It is understandable that the data channel application can exist in the form of a web page, or in the form of a mini program / quick application / light application, etc., and this application does not limit this.
[0164] Exemplarily, the data channel application involved in the embodiment of the present application can be a DC App in a 4G / 5G network. DCApp can transmit various data such as text, pictures, locations, files, etc. before and after the IMS call is established, and realize communication between the two parties in addition to voice calls or video calls, which can greatly enhance the experience of both parties.
[0165] The terminal device can obtain the DC App from the DCSF through the HTTP process of BDC, and can automatically or interactively update it at any time, and then communicate with the terminal device of the other end through the DC App except for voice calls or video calls. For example, the first terminal device and the second terminal device are in the same IMS call service. Assuming that the first terminal device wants to share its mobile phone screen with the second terminal device during the call with the second terminal device to guide B to set up the mobile phone, the first terminal device and the second terminal device can first obtain the DC App for screen sharing respectively, and then run the DCApp respectively to communicate with the UE of the other end except for voice calls or video calls.
[0166] 6. Framework layer
[0167] The framework layer of the embodiment of the present application is used to provide communication services for the IMSDC App, including but not limited to providing media negotiation services for data channels, and therefore may also be referred to as the communication service layer, communication service platform, operating system layer, data channel application operating environment, data channel application operating container, data channel application user agent, etc. of the IMSDC App. Exemplarily, the framework layer can be deployed on a communication device (such as a mobile phone) on which the IMSDC App runs, or it can be deployed outside of a communication device on which the IMSDC App runs, which is not limited in the embodiment of the present application. For the sake of convenience, the embodiment of the present application is described by taking the example of the framework layer being deployed on a communication device on which the IMSDC App runs as an example.
[0168] For example, the concept of the framework layer can be further referred to Fig.11 Related description.
[0169] 7. Media description information and media negotiation
[0170] The media description information involved in the embodiment of the present application refers to information related to the media resources used for IMS calls, such as IP address, port information, TLS ID, certificate, DC stream ID, etc. Therefore, the media description information in the embodiment of the present application can also be called media information or media resource information.
[0171] The UEs of both parties in an IMS call (such as Figure 2 UE 1 and UE 2 in the figure can obtain media description information used to establish a data channel between UE 1 and UE 2 through media description information negotiation. The media description information negotiation here refers to UE 1 and UE 2 negotiating the media description information used by each other for IMS calls, that is, UE 1 and UE 2 need to know each other's media description information used for sending and receiving media.
[0172] The UEs of both parties in an IMS call use the Offer / Answer model to exchange SDP information for media negotiation. Figure 4 It is a schematic diagram of the Offer / Answer model. There are two roles in this model, the Offerer and the Answerer. The Offerer represents the party that wants to create or modify a session. The SDP Offer information sent by the Offerer includes a set of media streams and codecs that the Offerer wants to use, as well as the IP address and port number that the Offerer uses to receive and send media streams. The Answerer is the party that receives and responds to the Offerer. The Answerer generates an SDP Answer message to respond to the SDP Offer message. The SDP Answer message indicates whether the Answerer accepts the media streams proposed in the SDP Offer, the codec used, and the IP address and port number that the Answerer uses to send and receive media streams.
[0173] The basic process of the calling party UE1 and the called party UE2 performing IMS call media negotiation through media description information is as follows.
[0174] 1. The calling party UE1 can carry SDP Offer information in the SIP invite (INVITE) / update (UPDATE) / re-INVITE message, including the media stream and codec set that the calling party UE1 wants to establish, and route the SDP Offer information to the called party UE2 through the IMS network. Specifically, when the IMS session is created, the calling party UE1 will send the original SDP through the INVITE message. During the IMS session establishment process, if the SDP needs to be updated, the calling party UE1 will renegotiate the media through the SIP UPDATE message. After the IMS session is successfully created, if the SDP needs to be updated, the calling party UE1 will renegotiate the media through the SIP Pre-INVITE message.
[0175] 2. The called party UE2 can send a 183 / 200OK response message, which carries SDP Address information, including the media streams and codecs supported by the called party UE2. It may reject some media streams in the SDP Offer information and route the 183 / 200OK response message to the calling party UE1 through the IMS network.
[0176] The protocol stack of the data channel can be SCTP, and the connection established between two terminal devices is called an SCTP coupling / SCTP connection. An SCTP coupling can be described as a data channel media description information in the SDP information. An SCTP coupling consists of multiple unidirectional streams, each of which is independent of each other and marked with a stream ID. Each stream can send data independently without being affected by other streams. A data channel is essentially two reverse streams on an SCTP coupling, and the stream IDs used by the two streams are the same. The media resources of the data channel can be described in the SDP information as the a=dcmap line in the data channel media description information. All lines from an "m=" line (including the "m=" line) to the next "m=" line (excluding the next "m=" line) or the last line of the SDP information (including the last line) are called an m segment ("m=" line), and the m segment starting with the "m=" application" line is called a DC m segment.
[0177] Figure 5 This is a model diagram of the media description information of the audio channel, video channel, and data channel in an IMS session. Figure 5 The media description information is referred to as media description in short; Figure 5 The applications in the figure are all IMSDC applications. An IMS session can be described as an SDP. The bold font in the figure indicates the expression of the data channel in the SDP. Figure 5As shown, there are three IMS DC applications in the IMS session. After the terminal device downloads application 1 through BDC, when application 1 creates a data channel, the SDP of the IMS session already includes the media descriptions of audio, video, and BDC. In this case, the media description of the ADC created by application 1 needs to be added to the SDP and media renegotiation needs to be performed. The terminal device continues to download application 2. When application 2 creates a data channel, the SDP of the IMS session already includes the media descriptions of audio, video, and BDC, as well as the media description of the ADC created by application 1. In this case, the media description of the ADC created by application 2 needs to be added to the SDP and media renegotiation needs to be performed. The terminal device continues to download application 3. When application 3 creates a data channel, the SDP of the IMS session already includes the media descriptions of audio, video, and BDC, as well as the media description of the ADC created by application 1 and the media description of the ADC created by application 2. In this case, the media description of the ADC created by application 3 needs to be added to the SDP and media renegotiation needs to be performed.
[0178] The following example illustrates the IMSDC media negotiation process. First is the process of establishing BDC. The media description information of BDC can be negotiated through INVITE, UPDATE and re-INVITE messages. When the calling party UE 1 initiates a call to the called party UE 2, during the call establishment process, the SDP Offer information is carried in the INVITE message, and the SDP Offer information includes the media description information of audio, video and BDC. Alternatively, after the audio and video session is established, the SDP Offer information including the media description information of BDC is carried in the re-INVITE message. Assume that the SDP Offer information including the media description information of BDC mentioned above is numbered SDP#1, and the SDP Offer includes audio media description information (numbered m#1), video media description information (numbered m#2), and BDC media description information (numbered m#3), wherein the BDC media description information includes two DCs, represented by attribute lines a=dcmap:0 and a=dcmap:100, respectively.
[0179] The media negotiation process of ADC can be negotiated through the re-INVITE message. After the calling party UE 1 and the called party UE2 have established an audio and video session, and the two UEs have established a BDC with the IMS network, UE 1 needs to send a file to UE 2, then UE 1 selects the application "Send File" in the call interface of UE 1, and UE 1 will obtain the "Send File" application through the established BDC. In order to use the "Send File" application to send a file to UE 2, the "Send File" application on UE 1 triggers the ADC establishment process between UE 1 and UE2. At this time, the re-INVITE message sent by UE 1 to UE 2 carries SDP Offer information, and the number of the SDP Offer information is SDP#2. The SDP Offer information is used to trigger the ADC establishment process between UE 1 and UE 2. The SDP Offer information includes audio media description information (number m#1), video media description information (number m#2), BDC media description information (number m#3) and ADC media description information (number m#4). Among them, m#1, m#2, and m#3 are already included in SDP#1. The newly added ADC media description information is specified by the "send file" application and added to SDP#1. The correspondence between the ADC media description information and the "send file" application is added to form SDP#2.
[0180] The correspondence between the ADC media description information (number m#4) and the "send file" application can be expressed in the following two ways:
[0181] (1) The corresponding relationship between the ADC media description information and the "send file" application is explained by marking the application ID (appid) of the "send file" application in the label parameter of the a=dcmap attribute line.
[0182] (2) Add an a attribute line in the m=application segment corresponding to the ADC media description information to illustrate the correspondence between the ADC media description information and the "send file" application, such as the a=3gpp-req-app attribute line, which can be bound to the m=application segment or the a=dcmap attribute line.
[0183] In one case, assuming that UE 1 needs to send files not only to the peer UE 2 but also to the IMS network, a new ADC will be established between UE 1 and the IMS network. UE 1 needs to initiate a new media negotiation, and the "send file" application needs to generate a new ADC media description information (m#5) and add it to SDP#2.
[0184] In another case, if UE 1 needs to send a specific file to UE 2, and has special quality of service (QoS) requirements, such as latency and packet loss requirements, and the original ADC media description information (numbered m#4) cannot meet the requirements, then it is necessary to create a new m segment for this special scenario, and use the a=3gpp-qos-hint attribute line to indicate its special QoS requirement information (numbered m#6), and merge it into SDP#2.
[0185] After "sending the file", if both the calling party UE 1 and the called party UE 2 need to initiate the "screen sharing" application, the "screen sharing" application triggers the ADC establishment process of the two UEs 1 and 2. When the ADC required by the "screen sharing" application has special QoS requirements, a separate m segment needs to be used to indicate it. The calling party UE 1 sends a re-INVITE message carrying SDP Offer information including a new ADC media description. The SDP Offer information is numbered SDP#3, and the ADC media description information of the "screen sharing" application (numbered m#7) needs to be added to the SDP Offer information; when the "screen sharing" application has no special QoS requirements, the existing ADC media description information (numbered m#4) can be reused, and a new a=dcmap attribute line is added to m#4. If the existing ADC media description information (numbered m#4) is reused, the corresponding relationship between the ADC media description information and the application is described in the label parameter of the a=dcmap attribute line; or, a new a=3gpp-req-app attribute line is added to describe the corresponding relationship between the ADC media description information and the application.
[0186] In summary, when an application triggers the ADC establishment process, new DC media description information needs to be incorporated into the existing SDP, for example, merging the ADC media description information into the existing IMSSDP, or adding an a=dcmap attribute line corresponding to the application in the m segment of the IMSSDP.
[0187] To support data channels, terminal equipment needs to be upgraded. Figure 6This is an example of an architecture diagram of a terminal device that supports IMSDC on the Android operating system. The dotted line represents enhanced functions. The chip modem layer needs to upgrade the SIP / SDP protocol to support the establishment of IMS data channels and media negotiation; the application framework layer needs to connect and manage data channels through built-in native system services and open interfaces to the application layer, which can be achieved by enhancing the IMS service layer; native call applications can use the data channel capabilities provided by the open interface to establish / dismantle data channels between terminal devices and terminal devices / networks, and send / receive data transmitted within the channels. This is similar in the IOS operating system and will not be described in detail in this application.
[0188] In the 3GPP TS26.114 standard, the IMS multimedia telephony service (multimedia telephony service for IMS) provided by the terminal device natively is called MTSI client, and the MTSI client supporting DC is called DCMTSI client (data channel multimedia telephony service for IMS). The native IMS part of the terminal device can be collectively referred to as IMS component. The IMS component / framework layer includes Figure 6 IMS service 601, DC 602, and modem 603.
[0189] The data channel capability provided by the IMS component requires opening the scheduling interface of the IMS data channel to the JavaScript application through the Web engine, so that the DC application can trigger the IMSDC creation process and send data through the IMSDC, and process the business data of the data channel in real time through the Web engine and present it in real time on the UI.
[0190] GSMA NG.134 recommends using WebRTC API 1.0 to support IMSDC, such as Figure 6 As shown in the figure, WebRTC has been integrated into the framework layer of the terminal device. WebRTC is injected into the browser and provides the WebRTC 1.0 standard API to DC applications.
[0191] The above text, in combination with the accompanying drawings, introduces an exemplary system architecture that can be applied to the embodiments of the present application, as well as the basic concepts involved in the present application. The following briefly introduces the technical solutions related to the embodiments of the present application.
[0192] 1. Web Real Time Communication (WebRTC) Architecture, Protocol Stack, and Signaling Model
[0193] 1. WebRTC architecture
[0194] WebRTC is a real-time communication technology that allows web applications or sites to establish peer-to-peer (P2P) connections between browsers without the help of an intermediary to achieve the transmission of video streams and / or audio streams or other arbitrary data.
[0195] Figure 7 This is a schematic diagram of the WebRTC architecture. Web apps are web applications developed by application developers. Application developers can develop audio and video real-time communication applications based on browsers that integrate the WebRTC API. Web applications refer to software that runs in a web browser, using a standard browser as a client. A web application can be understood as a hypertext markup language (HTML) web page, usually written in a mixed form of HTML5, cascading style sheets (CSS) and interpreted language JavaScript.
[0196] WebRTC includes several interrelated APIs and protocols to achieve this goal. The Web API layer is the API that WebRTC opens to application layer developers, mainly JavaScript API, for use by Web applications. Application developers do not need to worry about the complex underlying technology, but only need to understand the general process principle of WebRTC and call its API to easily develop Web applications similar to online video chat software.
[0197] The WebRTC C++ API layer is an API used by browsers to support the WebRTC specification. Its main function is to expose the core functions of WebRTC, such as device functions, audio and video stream data collection, etc., so that browser manufacturers can integrate them into their own applications. Peer connection is the core module of the WebRTC C++ API layer, which implements P2P wall penetration, communication link establishment and optimization, streaming data transmission, non-audio and video data transmission, transmission quality reporting and statistics, etc.
[0198] The session management layer provides session management functions, such as creating sessions, managing sessions, and managing context environments. This layer involves various protocols, such as the SDP protocol of the signaling server, and is mainly used for signaling interaction and managing the connection status of the RTC peer connection.
[0199] The engine layer defines the audio engine, video engine and transmission module, which can be used for audio and video processing and file transmission.
[0200] The driver layer includes an audio acquisition and rendering module, a video acquisition module, and a network input / output (I / O) module.
[0201] 2. WebRTC protocol stack
[0202] The data channel in the WebRTC protocol stack can be implemented using the UDP / DTLS / SCTP protocol stack. During the session establishment process, the caller terminal device and the called terminal device need to perform media negotiation so that the communicating parties can reach an agreement on the media stream and encoding and decoding methods. WebRTC does not specify a specific signaling protocol, but the media negotiation uses the SDP protocol; the role of the SDP protocol is to transmit necessary session messages to the session participants, and it defines a unified format for session descriptions. SDP information consists of two parts: one is the overall session information, including session name, contact address, time and other information, which is called session-level description; the other is session media information, including media type, transmission protocol, encoding format, transmission address and other information, which is called media-level description. Figure 8 As an example of SDP information, the third media segment can be called m segment or DC m segment. In the embodiment of the present application, the content after " / / " is an explanation of the meaning of each parameter and does not belong to the content of the SDP information. "a=……………" represents one or more a attribute lines in the m segment, where some a attribute lines are attributes at the SCTP coupling level. "a=dcmap" line is an attribute at the data channel level.
[0203] 3. WebRTC signaling model
[0204] WebRTC also uses Figure 4 The Offer / Answer model shown exchanges SDP information.
[0205] The JavaScript session establishment protocol defines the mechanism by which the WebRTC JavaScript APP controls the multimedia session signaling plane through the interface specified in the Web API layer, and assumes that the JavaScript APP runs in an operating environment that includes the WebRTC API. The operating environment that includes the WebRTC API is called the "JSEP implementation". The design focus of the WebRTC signaling model is: WebRTC (here refers to Fig. 9 The JSEP implementation in , corresponds to Figure 7The session management layer in ) focuses more on the media layer, and the signaling interaction is left to the application as much as possible.
[0206] The JSEP implementation maintains a signaling state machine to indicate the media negotiation status during the media negotiation process. The JSEP implementation provides the interfaces required by the Web application, and the Web application calls the API at the right time to drive the signaling state machine. The JSEP implementation mainly creates the SDP based on the information provided by the Web application, including the media type, format, and all related media configuration parameters required to establish the media path, and processes the negotiated local and remote session descriptions.
[0207] Different Web applications may use different signaling protocols in the signaling plane / signaling layer. They can use their own preferred standardized signaling protocols, such as the Session Initiation Protocol (SIP), or even choose a custom signaling protocol to interact with remote Web applications for media description information.
[0208] The above WebRTC protocol corresponds to the JSEP implementation, which is specifically manifested as follows: JSEP implementation is the implementation of WebRTC injected into the browser, providing JavaScript API for Web applications (corresponding to Figure 7 Web applications are applications that run in browsers and call JavaScript APIs to implement functions such as online video chat.
[0209] 2. WebRTC call flow
[0210] For example, GSMA NG.134 recommends using WebRTC API 1.0 to support IMSDC. When a user needs to run a WebRTC application, both the calling party's terminal device and the called party's terminal device need to download the WebRTC application from other web servers. After the WebRTC application is downloaded, the browsers of both the calling party's terminal device and the called party's terminal device run the same application. When the calling party's terminal device initiates a call, the end-to-end call process starts. Fig.10 The following is a schematic diagram of a WebRTC call flow. The specific steps are as follows.
[0211] S1001, when the calling party UE 1 starts the WebRTC App and needs to conduct media Offer / Answer negotiation, the WebRTC App creates a new RTCPeerConnection object by calling the RTCPeerConnection interface included in the Web API, carrying configuration parameters, and returns it to the WebRTC App, representing a connection between the calling party UE 1 and the called party UE 2, where the configuration parameters are optional. If the configuration parameters are carried, the configuration is performed according to the specified parameters, otherwise, the configuration is performed according to the basic configuration.
[0212] RTCPeerConnection corresponds to the session level of SDP. There can only be one SCTP coupling in an RTCPeerConnection, which corresponds to an m segment in SDP.
[0213] S1002, the caller's WebRTC APP creates an RTCDataChannel object on the existing RTCPeerConnection object by calling the createDataChannelAPI included in the Web API layer, which represents the establishment of a two-way data channel. Optionally, the WebRTC APP carries the name label of the data channel and the setting parameters of the data channel. The setting parameters of the data channel include:
[0214] (1) ordered, indicating whether the information of the data channel is transmitted in an orderly manner, that is, whether the arrival order needs to be consistent with the sending order. The default is consistent;
[0215] (2) maxPacketLifeTime, which indicates the maximum time for message retransmission failure in unreliable transmission mode. It can be understood that after this time, even if the message retransmission fails, it will not be retransmitted;
[0216] (3) maxRetransmits, which indicates the maximum number of retransmissions when a message fails to be retransmitted in unreliable transmission mode. It is mutually exclusive with maxPacketeLifeTime.
[0217] (4) protocol, indicating the subprotocol used on the data channel;
[0218] (5) negotiated, indicating whether the data channel is negotiated in-band or out-of-band;
[0219] (6)id, indicating the stream id of the data channel.
[0220] All data channels on the same RTCPeerConnection share the same SCTP coupling / the same DC media description information / a DC m segment. Each creation of a data channel creates a new data channel / two-way SCTP stream on the existing SCTP coupling, corresponding to an a=dcmap attribute line in the m segment.
[0221] S1003, the caller's WebRTC APP triggers JSEP to generate an SDP Offer information by calling the createOffer API included in the Web API layer, adding it to the current RTCPeerConnection, and returning it to the WebRTC APP, where the SDP Offer information contains the media description information that needs to be negotiated with the called party. The WebRTC APP can carry some optional additional information.
[0222] When the createOffer API is called for the first time, the SDP information generated is called the initial SDP Offer information. If the create Offer API is called after a session is established, the JSEP implementation will generate an SDP Offer information that modifies the current session based on any changes to the session and return it to the WebRTC APP.
[0223] S1004, the caller's WebRTC APP sends the generated SDP Offer information to the JSEP implementation by calling the setLocalDescriptionAPI included in the Web API layer, and triggers the JSEP implementation to parse the SDP Offer information and create local resources for receiving and decoding media information. For the DC, it will trigger the DC to set the sending parameters, and then trigger the creation of SCTPStreams, setting the data source, etc.
[0224] S1005, the WebRTC APP of the calling party sends the SDP Offer information to the WebRTC APP of the called party through the signaling server.
[0225] S1006: After receiving the SDP Offer information, the WebRTC App of the called party creates a local RTCPeerConnection object. The WebRTC App creates a local RTCPeerConnection object by calling the RTCPeerConnection interface included in the Web API, carrying configuration parameters, and returns it to the WebRTC App.
[0226] S1007, the WebRTC App of the called party creates an RTCDataChannel object on the created local RTCPeerConnecton object, and the name label of the data channel and the setting parameters of the data channel carried are the response information of the data channel negotiation for the received SDP Offer information.
[0227] S1008, the WebRTC APP of the called party triggers the JSEP of the called party to parse the SDP Offer information and configure local resources for sending and encoding media information by calling the setRemoteDescription API included in the Web API layer.
[0228] S1009, to complete the Offer / Answer exchange, the called party's WebRTC App generates appropriate SDP Answer information by calling the createAnswer API. The SDP Answer information contains information about any media connected to the session and codecs supported by the browser.
[0229] S1010, the WebRTC App of the called party sets the local SDP information by calling the setLocalDescriptionAPI included in the Web API layer, so as to configure the local resources for receiving and decoding the media information.
[0230] S1011, the WebRTC App of the called party sends SDP Answer information to the WebRTC App of the calling party through the signaling server.
[0231] S1012, when the caller's WebRTC App receives the SDP Answer information, it will send the SDP Answer to the JSEP implementation by calling the setRemoteDescription API, triggering the JSEP implementation to parse the SDPAnswer and configure local resources for sending and encoding media information, and the initial setting is completed.
[0232] S1013, the WebRTC User Agent (User Agent) / JSEP of both the caller and the callee implements the creation of an SCTP / DTLS coupling and its corresponding stream.
[0233] S1014, after the data channel connection is established, JSEP implements notifying the WebRTC App of the calling and called parties by triggering the onDataChannel() event, indicating that the data channel connection is established.
[0234] S1015-S1016, the WebRTC App of the calling party and the called party sends media information through the send() interface and receives the media information by triggering the onmessage() event.
[0235] The JSEP implementation in the WebRTC architecture cannot interact with the IMS components and cannot merge the DC m segment in the WebRTC SDP created by the JSEP implementation into the existing SDP of the IMS, thus failing to trigger media negotiation of data channels between different communication devices. The specific reasons include the following two aspects.
[0236] 1. In the design mechanism of WebRTC, the signaling interaction is implemented by the application layer. The JSEP implementation cannot interact with the IMS component and cannot send the WebRTC SDP to the IMS component. As a result, the DC m segment in the WebRTC SDP created by the JSEP implementation cannot be merged with the existing SDP of the IMS.
[0237] 2. The WebRTC SDP generated by JSEP is based on the WebRTC protocol. In a WebRTC session, only one DC m segment can be created, and all DCs share this DC m segment. This WebRTC SDP does not comply with the IMS standard protocol. The specific reasons are as follows.
[0238] (1) When a WebRTC App establishes DCs with different terminal devices, such as establishing data channels with the peer terminal device and the network respectively, each connection / SCTP coupling corresponds to a separate session, and each connection / SCTP coupling has a corresponding independent session context. For each connection, the WebRTC App will use the WebRTC API to create an RTCPeerConnection object (corresponding to a session and an SCTP coupling) and one or more DataChannel objects. It can be understood that each WebRTC App will have an independent WebRTC SDP for each connection / SCTP coupling, and the WebRTC SDP has a DC m segment; the WebRTC protocol does not support the establishment of DC m segments between the same terminal device and different peer terminal devices in a session context / WebRTC SDP.
[0239] (2) The WebRTC protocol does not support specifying the 3gpp-qos-hint parameter.
[0240] (3) Each WebRTC App uses an independent session context, and multiple WebRTC Apps are not supported to share the same session context / WebRTC SDP.
[0241] To this end, an embodiment of the present application proposes a media negotiation method, which enables the IMSDC application to send the description information about the media resources of the DC generated by calling the JSEP implementation by calling the WebRTC API to the IMS component, thereby providing a media negotiation service for the data channel for the IMSDC application; in addition, different IMSDC applications can also share an IMS session context, support the establishment of a DC between the same terminal device and multiple peer terminal devices in an IMS session context, and support the IMSDC application to specify the service quality parameters of the DC.
[0242] The media negotiation method and communication device provided by the present application will be described in detail below with reference to the accompanying drawings.
[0243] The embodiments shown below do not particularly limit the specific structure of the execution subject of the method provided in the embodiments of the present application. As long as it is possible to communicate according to the method provided in the embodiments of the present application by running a program that records the code of the method provided in the embodiments of the present application, for example, the execution subject of the method provided in the embodiments of the present application can be a core network device and a terminal device, or a functional module in the core network device or the terminal device that can call and execute the program.
[0244] In order to facilitate understanding of the embodiments of the present application, the following explanations are made.
[0245] First, in this application, "used to indicate" can be understood as "enable", and "enable" can include direct enablement and indirect enablement. When describing that a certain information is used to enable A, it can include that the information directly enables A or indirectly enables A, and it does not mean that the information must carry A.
[0246] The information enabled by the information is called information to be enabled. In the specific implementation process, there are many ways to enable the information to be enabled, such as but not limited to, the information to be enabled can be directly enabled, such as the information to be enabled itself or the index of the information to be enabled. The information to be enabled can also be indirectly enabled by enabling other information, wherein there is an association relationship between the other information and the information to be enabled. It is also possible to enable only a part of the information to be enabled, while the other parts of the information to be enabled are known or agreed in advance. For example, the enabling of specific information can also be achieved by means of the arrangement order of each piece of information agreed in advance (such as specified by the protocol), thereby reducing the enabling overhead to a certain extent. At the same time, the common parts of each piece of information can also be identified and enabled uniformly to reduce the enabling overhead caused by enabling the same information separately.
[0247] Second, the first, second, and various numerical numbers (e.g., "#1", "#2", etc.) shown in the present application are only for convenience of description and are used to distinguish objects, and are not used to limit the scope of the embodiments of the present application. For example, to distinguish different messages, etc., rather than to describe a specific order or sequence. It should be understood that the objects described in this way can be interchangeable where appropriate so as to be able to describe solutions other than the embodiments of the present application.
[0248] Third, the terms "comprises" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or apparatus comprising a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such process, method, product or apparatus.
[0249] Fourth, in this application, "pre-configuration" may include pre-definition, such as protocol definition. Among them, "pre-definition" can be implemented by pre-saving corresponding codes, tables or other methods that can be used to indicate relevant information in a device (for example, including each network element), and this application does not limit its specific implementation method.
[0250] Fifth, the "storage" involved in the embodiments of the present application may refer to storage in one or more memories. The one or more memories may be separately set or integrated in an encoder or decoder, a processor, or a communication device. The one or more memories may also be partially separately set and partially integrated in a decoder, a processor, or a communication device. The type of memory may be any form of storage medium, which is not limited by the present application.
[0251] Sixth, the “protocol” involved in the embodiments of the present application may refer to a standard protocol in the communication field, for example, it may include a 4G / 5G protocol, a new radio (NR) protocol, and related protocols used in future communication systems, which is not limited in the present application.
[0252] Seventh, the dotted boxes in the method flow chart in the accompanying drawings of the present application specification represent optional steps.
[0253] The following describes in detail the media negotiation method provided in the embodiments of the present application by taking the interaction between network elements as an example. It can be understood that the terms and steps in the embodiments of the present application can refer to each other.
[0254] Fig.11 This is an example of an architecture diagram of a terminal device supporting IMSDC in an embodiment of the present application. The IMSDC application can interact with the WebRTC API or with the framework layer. The IMS components / framework layer include Fig.11IMS service 1101, DC 1102, and modem 1103.
[0255] Fig.12 An exemplary flow chart of a method 1200 for media negotiation provided in an embodiment of the present application is shown. In the method 1200, the framework layer includes an IMS component, or the framework layer includes an IMS component and an IMSDC signaling module; the first application and the second application are IMSDC applications, and the media description information of the data channel is called an m-segment.
[0256] S1210, the first application sends first media description information to the framework layer, where the first media description information is description information about media resources of a first data channel proposed by the first application, the first data channel is a channel between a first communication device and a second communication device for transmitting application data generated or consumed by the first application, and both the framework layer and the first application run in the first communication device. Correspondingly, the framework layer receives the first media description information from the first application. Exemplarily, the first application sends the first media description information to the framework layer by calling an IMSDC signaling API. Optionally, the first communication device is a first terminal device, and the first terminal device is a calling party terminal device.
[0257] Exemplarily, the first application triggers JSEP to generate the second SDP proposal information by calling the createOffer API included in the Web API layer, and the second SDP proposal information includes the first media description information; the first application sends the second SDP proposal information to the framework layer. After the framework layer receives the second SDP proposal information from the first application, the framework layer obtains the first media description information from the second SDP proposal information. The specific implementation method of the first application running on the first communication device triggering JSEP to generate the second SDP proposal information can be referred to Fig.10 Steps S1001 to S1004 in .
[0258] S1220, the framework layer sends first SDP proposal information to the second communication device through the IMS network element, and the first SDP proposal information includes first media description information. Correspondingly, the second communication device receives the first SDP proposal information from the framework layer through the IMS network element. Optionally, the second communication device is a second terminal device or a server corresponding to the first application, and the second terminal device or the server corresponding to the first application is a called party terminal device.
[0259] Optionally, the IMS network element includes a P-CSCF network element. The IMS network element is one or more IMS network elements in the IMS network, and the first IMS network element in the IMS network that interacts with the framework layer is the P-CSCF network element. Exemplarily, the framework layer sends the first SDP proposal information to the second communication device through one or more IMS network elements in the IMS network, and the second communication device receives the first SDP proposal information from the framework layer through one or more IMS network elements in the IMS network.
[0260] Exemplarily, the first SDP proposal information further includes third media description information and / or fourth media description information; wherein the third media description information is the description information of the media resources of the audio channel proposed by the framework layer, and the audio channel is used to transmit the audio data of the call service of the first communication device; the fourth media description information is the description information of the media resources of the video channel proposed by the framework layer, and the video channel is used to transmit the video data of the call service of the first communication device. It can be understood that the first SDP proposal information includes the first media description information; or, the first SDP proposal information includes the first media description information and the third media description information; or, the first SDP proposal information includes the first media description information and the fourth media description information; or, the first SDP proposal information includes the first media description information, the third media description information and the fourth media description information. In this example, the framework layer running on the first communication device can merge the description information of the media resources of the first data channel (first media description information), the description information of the media resources of the audio channel (third media description information) and / or the description information of the media resources of the video channel (fourth media description information) into the first SDP proposal information and send them to the second communication device.
[0261] An IMS session may support multiple applications at the same time, or it may only support one IMSDC application. When an IMS session only supports one IMSDC application, and the second communication device has downloaded the first application, the framework layer does not need to indicate the correspondence between the first application and the first data channel to the second communication device. When an IMS session only supports one IMSDC application, and the second communication device has not downloaded the first application, the framework layer needs to indicate the correspondence between the first application and the first data channel to the second communication device, so that the second communication device can download the first application according to the correspondence between the first application and the first data channel. When an IMS session supports multiple IMSDC applications, the framework layer needs to indicate the correspondence between the first application and the first data channel to the second communication device, so that the second communication device can know which application uses the first data channel.
[0262] Optionally, if an IMS session supports only one IMSDC application and the second communication device has not downloaded the first application, or an IMS session supports multiple IMSDC applications, the first SDP proposal information sent by the framework layer indicates the correspondence between the first application and the first data channel. The implementation methods of the first SDP proposal information indicating the correspondence between the first application and the first data channel include the following two.
[0263] In one implementation, the first media description information includes a first attribute line and a second attribute line, the first attribute line includes parameter information of a first data channel, the parameter information of the first data channel includes an identifier of the first data channel, and the second attribute line includes an identifier of the first data channel and an identifier of the first application; wherein the first attribute line is an a=dcmap attribute line, and the second attribute line is an a=3gpp-req-app attribute line. Fig.13 is an example of the correspondence between the first application and the first data channel; the identifier of the first application is application1, and the identifier of the first data channel is 1001. In another implementation, the first media description information includes a third attribute line, the third attribute line includes parameter information of the first data channel and the identifier of the first application, and the parameter information of the first data channel includes the identifier of the first data channel; wherein the third attribute line is an a=dcmap attribute line. Fig.14 This is another example of the correspondence between the first application and the first data channel; the identifier of the first application is application1, and the identifier of the first data channel is 1001.
[0264] Optionally, the first application sends a first QoS parameter set to the framework layer, where the first QoS parameter set includes at least one QoS parameter proposed by the first application regarding the first data channel; correspondingly, the framework layer receives the first QoS parameter set from the first application; then the first SDP proposal information also indicates the correspondence between the first QoS parameter set and the first media description information.
[0265] Exemplarily, the first media description information includes a first QoS parameter set. For example, the first media description information includes a fourth attribute line, and the fourth attribute line includes at least one QoS parameter in the first QoS parameter set. For example, the fourth attribute line is an a=3gpp-qos-hint attribute line. Exemplarily, the at least one QoS parameter includes a packet loss rate and a delay. Fig.15 is an example of QoS parameters; wherein the latency of the first data channel proposed by the first application is 100 milliseconds (ms) and the loss is 0.01%.
[0266] In the case where the first SDP proposal information indicates a correspondence between the first application and the first data channel and a correspondence between the first QoS parameter set and the first media description information, and the first media description information includes a first attribute line and a second attribute line, an example of a correspondence between the QoS parameters and the first application and the first data channel is as follows: Fig.16 In the case where the first SDP proposal information includes the correspondence between the first application and the first data channel and the correspondence between the first QoS parameter set and the first media description information, and the first media description information includes the third attribute line, another example of the correspondence between the QoS parameters and the first application and the first data channel is as follows: Fig.17 shown.
[0267] Exemplarily, the first SDP proposal information further includes seventh media description information, the seventh media description information is description information about media resources of the second data channel, and the second data channel is used between the first communication device and the second communication device or the third communication device to transmit application data generated or consumed by the first application, or used to transmit applications generated or consumed by the second application; when the first SDP proposal information also indicates the correspondence between the first QoS parameter set and the first media description information, the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information, which can be understood as the seventh media description information and the first media description information are included in different m segments in the first SDP proposal information. Since the first application proposes at least one QoS parameter about the first data channel, the first media description information of the first data channel and the seventh media description information of the second data channel cannot share the same m segment in the first SDP proposal information. Based on this example, when the second data channel is used between the first communication device and the second communication device to transmit application data generated or consumed by the second application, different IMSDC applications can share an IMS session context. When the second data channel is used between the first communication device and the third communication device to transmit application data generated or consumed by the first application or the second application, it can support the same communication device to establish data channels with multiple opposite communication devices in one IMS session context.
[0268] Optionally, the first application sends a first indication message to the framework layer, the first indication message indicates that the first data channel uses an independent bearer, the independent bearer means that the first data channel and other data channels are not in the same SCTP coupling, the other data channels are data channels other than the first data channel, the other data channels can be data channels other than the first data channel required to be created by the first application, or can be data channels required to be created by other applications. Correspondingly, the framework layer also receives the first indication message from the first application. The first indication message indicates that the first data channel uses an independent bearer, and the bearer of the first application can be closed independently to save network resources; and it can be achieved that network resources are not occupied with other applications.
[0269] Exemplarily, the first SDP proposal information also includes seventh media description information, which is description information about media resources of a second data channel, and the second data channel is used between the first communication device and the second communication device or the third communication device to transmit application data generated or consumed by the first application, or to transmit applications generated or consumed by the second application; when the framework layer receives the first indication information from the first application, the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information. It can be understood that the seventh media description information and the first media description information are included in different m segments in the first SDP proposal information.
[0270] Exemplarily, the first SDP proposal information also includes seventh media description information, which is description information about media resources of a second data channel, and the second data channel is between the first communication device and the second communication device or the third communication device for transmitting application data generated or consumed by the first application, or an application generated or consumed by the second application; when the first SDP proposal information does not indicate the correspondence between the first QoS parameter set and the first media description information, and the framework layer does not receive the first indication information from the first application, the first media description information and the seventh media description information are included in the fifth m segment of the first SDP proposal information, which can be understood as that the seventh media description information and the first media description information are included in the same m segment of the first SDP proposal information.
[0271] Optionally, before S1220, the framework layer generates first SDP proposal information according to the first media description information. An exemplary description is given below in conjunction with S1221.
[0272] Optionally, S1221, the framework layer generates first SDP proposal information according to at least one of first media description information from a first application, a first QoS parameter set, first indication information, or the number of IMSDC applications supported by an IMS session.
[0273] Exemplarily, when an IMS session only supports one IMSDC application and the second communication device has not yet downloaded the first application, the framework layer generates first SDP proposal information based on the first media description information, the first SDP proposal information includes the first media description information, and the first SDP proposal information indicates the correspondence between the first application and the first data channel.
[0274] Exemplarily, when an IMS session supports multiple IMSDC applications, the framework layer generates first SDP proposal information according to the first media description information, the first SDP proposal information includes the first media description information, and the first SDP proposal information indicates the correspondence between the first application and the first data channel.
[0275] Exemplarily, if the framework layer receives a first QoS parameter set from a first application, and the first QoS parameter set includes at least one QoS parameter proposed by the first application regarding a first data channel, the framework layer generates first SDP proposal information, and the first SDP proposal information includes first media description information, and the first SDP proposal information indicates the correspondence between the first QoS parameter set and the first media description information.
[0276] Exemplarily, if an IMS session supports multiple IMSDC applications, and the framework layer receives a first QoS parameter set from a first application, and the first QoS parameter set includes at least one QoS parameter proposed by the first application regarding a first data channel, then the framework layer generates first SDP proposal information, the first SDP proposal information includes first media description information, and the first SDP proposal information indicates the correspondence between the first application and the first data channel and the correspondence between the first QoS parameter set and the first media description information.
[0277] Exemplarily, if the framework layer determines that the seventh media description information already exists, and the framework layer receives first indication information from the first application, and the first indication information indicates that the first data channel uses an independent bearer, the framework layer generates a first SDP proposal information, and the first SDP proposal information includes the seventh media description information and the first media description information, and the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information.
[0278] Exemplarily, if the framework layer determines that the seventh media description information already exists, and the framework layer receives a first QoS parameter set from the first application, the first QoS parameter set including at least one QoS parameter about the first data channel proposed by the first application, then the framework layer generates a first SDP proposal information, the first SDP proposal information including the seventh media description information and the first media description information, and the first SDP proposal information also indicates the correspondence between the first QoS parameter set and the first media description information. The first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information.
[0279] Exemplarily, if the framework layer determines that the seventh media description information already exists, and the framework layer has not received the first indication information from the first application, nor has it received the first QoS parameter set from the first application, the framework layer can merge the seventh media description information and the first media description information to generate first SDP proposal information, the first SDP proposal information includes the seventh media description information and the first media description information, and the first media description information and the seventh media description information are included in the fifth m segment in the first SDP proposal information. Fig.18 This is an example of merging media description information of different data channels; the identifier of the first data channel is 1001, the identifier of the second data channel is 3874, the identifier of the first application is application1, and the identifier of the second application is application2.
[0280] Exemplarily, if the framework layer determines that the third media description information and / or the fourth media description information already exists, the framework layer generates first SDP proposal information, and the first SDP proposal information includes the first media description information, the third media description information and / or the fourth media description information.
[0281] S1230, the second communication device sends a first SDP response message to the framework layer through the IMS network element, the first SDP response message includes second media description information, and the second media description information is the response of the second communication device to the first media description information; correspondingly, the framework layer receives the first SDP response message from the second communication device through the IMS network element.
[0282] Optionally, before S1230, the second communication device generates first SDP response information. The following is an exemplary description in conjunction with S1231.
[0283] Optionally, S1231, the second communication device generates first SDP response information according to the first SDP proposal information from the framework layer, the first SDP proposal information includes first media description information, and the first SDP response information includes second media description information.
[0284] Optionally, when the first SDP proposal information indicates the correspondence between the first application and the first data channel, the first SDP response information also indicates the correspondence between the first application and the first data channel. The first SDP response information indicates the correspondence between the first application and the first data channel in the following two implementations.
[0285] In one implementation, the second media description information includes a first attribute line and a second attribute line, the first attribute line includes parameter information of the first data channel, the parameter information of the first data channel includes an identifier of the first data channel, and the second attribute line includes an identifier of the first application and an identifier of the first data channel.
[0286] In another implementation, the second media description information includes a third attribute line, the third attribute line includes parameter information of the first data channel and an identifier of the first application, and the parameter information of the first data channel includes the identifier of the first data channel.
[0287] Optionally, in the case where the first SDP proposal information further indicates the correspondence between the first QoS parameter set and the first media description information, the first SDP response information further indicates the correspondence between the second QoS parameter set and the second media description information, and the second QoS parameter set is a response of the second communication device to the first QoS parameter set. Exemplarily, the second media description information includes the second QoS parameter set. For example, the second media description information includes a fourth attribute row, and the fourth attribute row includes at least one QoS parameter in the second QoS parameter set.
[0288] Optionally, when the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information, the second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment in the first SDP response information, and the eighth media description information is a response to the seventh media description information.
[0289] Optionally, when the first media description information and the seventh media description information are included in the fifth m segment in the first SDP proposal information, the second media description information and the eighth media description information are included in the sixth m segment in the first SDP response information, and the eighth media description information is a response to the seventh media description information.
[0290] For a specific example of the second communication device generating the first SDP response information, please refer to Fig. 20 The specific example of step S2041 in will not be described in detail here.
[0291] S1240: The framework layer sends the second media description information to the first application. Correspondingly, the first application receives the second media description information from the framework layer.
[0292] In the technical solution provided in the embodiment of the present application, the first application (IMSDC application) running on the first communication device can send the description information (first media description information) of the media resources of the first data channel proposed by the first application to the framework layer / IMS component running on the first communication device; the framework layer can send the first SDP proposal information containing the first media description information to the second communication device; after the second communication device receives the first SDP proposal information, it can send the first SDP response information containing the second media description information to the framework layer, and the second media description information is the response of the second communication device to the first media description information; thereby providing the media negotiation service of the data channel for the IMSDC application. In addition, the embodiment of the present application can realize that different IMSDC applications (first application and second application) share an IMS session context, support the first communication device to establish a data channel with multiple opposite communication devices (second communication device and third communication device) in an IMS session context, and support the IMSDC application to specify the service quality parameters of the data channel.
[0293] Optionally, before S1240, the framework layer obtains the second media description information from the first SDP response information. The following is an exemplary description in conjunction with S1241.
[0294] Optionally, S1241, the framework layer obtains second media description information from first SDP response information from the second communication device.
[0295] Exemplarily, if the first SDP response information includes the second media description information, the fifth media description information and / or the sixth media description information, the framework layer directly obtains the second media description information from the first response information. Among them, the fifth media description information is a response to the third media description information, and the sixth media description information is a response of the second communication device to the fourth media description information. Based on this example, the second communication device can merge the second media description information, the fifth media description information and / or the sixth media description information into the first SDP response information and send them together to the framework layer running on the first communication device.
[0296] Exemplarily, if the first SDP response information includes second media description information and indicates the correspondence between the first application and the first data channel, since the second media description information and the information indicating the correspondence between the first application and the first data channel are included in the same m segment in the first SDP response information, the framework layer deletes the information indicating the correspondence between the first application and the first data channel in the m segment to obtain the second media description information.
[0297] Exemplarily, if the first SDP response information includes second media description information and indicates the correspondence between the second QoS parameter set and the second media description information, since the second media description information and the information indicating the correspondence between the second QoS parameter set and the second media description information are included in the same m segment in the first SDP response information, the framework layer deletes the information indicating the correspondence between the second QoS parameter set and the second media description information in the m segment to obtain the second media description information.
[0298] Exemplarily, if the first SDP response information includes second media description information, and indicates the correspondence between the first application and the first data channel and the correspondence between the second QoS parameter set and the second media description information, since the second media description information, the information indicating the correspondence between the first application and the first data channel, and the information indicating the correspondence between the second QoS parameter set and the second media description information are included in the same m segment in the first SDP response information, the framework layer deletes the information indicating the correspondence between the first application and the first data channel and the information indicating the correspondence between the second QoS parameter set and the second media description information in the m segment to obtain the second media description information.
[0299] Exemplarily, if the first SDP response information includes the second media description information and the eighth media description information, and the second media description information and the eighth media description information are included in different m segments in the first SDP response information, the framework layer obtains the second media description information from the first SDP response information. The eighth media description information is a response of the second communication device to the seventh media description information.
[0300] Exemplarily, if the first SDP response information includes the second media description information and the eighth media description information, and the second media description information and the eighth media description information are contained in the same m segment in the first SDP response information, the framework layer deletes the a=dcmap line corresponding to the eighth media description information from the m segment to obtain the second media description information. Fig.19 This is an example of splitting media description information of different data channels; the identifier of the first data channel is 1001, the identifier of the second data channel is 3874, the identifier of the first application is application1, and the identifier of the second application is application2.
[0301] After the second communication device obtains the first SDP proposal information and the first communication device obtains the first SDP response information, the first communication device and the second communication device can establish an SCTP coupling and send and / or receive media information through the data channel. For the specific process, please refer to Fig.10 Steps S1012 to S1016.
[0302] Optionally, the framework layer includes an IMS component and an IMSDC signaling module. Exemplarily, the IMSDC signaling module in the framework layer receives first media description information from a first application; the IMSDC signaling module sends the first media description information to the IMS component; the IMS component in the framework layer sends first SDP proposal information to the second communication device via the IMS network element, and the first SDP proposal information includes the first media description information; the IMS component in the framework layer receives first SDP response information from the second communication device via the IMS network element, and the first SDP response information includes the second media description information; the IMS component sends the second media description information to the IMSDC signaling module; the IMSDC signaling module sends the second media description information to the first application. For a specific exemplary flowchart, please refer to Fig.21 .
[0303] Fig. 20 Another exemplary flow chart of a method 2000 for media negotiation provided in an embodiment of the present application is shown. In the method 2000, the framework layer includes an IMS component, or the framework layer includes an IMS component and an IMSDC signaling module; the first application and the second application are IMSDC applications, and the media description information of the data channel is called an m-segment.
[0304] S2010, the first communication device sends the first SDP proposal information to the framework layer through the IMS network element, the first SDP proposal information includes the first media description information, the first media description information is the description information about the media resources of the first data channel, the first data channel is the channel between the first communication device and the second communication device for transmitting the application data generated or consumed by the first application, and the framework layer runs in the second communication device. Optionally, the first application also runs in the second communication device. Correspondingly, the framework layer receives the first SDP proposal information from the first communication device through the IMS network element.
[0305] Optionally, the first communication device is a first terminal device, the first terminal device is a calling party terminal device. The second communication device is a second terminal device or a server corresponding to the first application, the second terminal device or the server corresponding to the first application is a called party terminal device.
[0306] Optionally, the IMS network element includes a P-CSCF network element. The IMS network element is one or more IMS network elements in the IMS network, and the first IMS network element in the IMS network that interacts with the first communication device is a P-CSCF network element. Exemplarily, the first communication device sends the first SDP proposal information to the framework layer through one or more IMS network elements in the IMS network, and the framework layer receives the first SDP proposal information from the first communication device through one or more IMS network elements in the IMS network.
[0307] Exemplarily, the first SDP proposal information also includes third media description information and / or fourth media description information; wherein the third media description information is description information about media resources of an audio channel proposed by the first communication device, and the audio channel is used to transmit audio data of a call service of the first communication device; and the fourth media description information is description information about media resources of a video channel proposed by the first communication device, and the video channel is used to transmit video data of a call service of the first communication device.
[0308] Optionally, the first SDP proposal information indicates the correspondence between the first application and the first data channel. Exemplarily, the first media description information includes a first attribute line and a second attribute line, the first attribute line includes parameter information of the first data channel, the parameter information of the first data channel includes an identifier of the first data channel, and the second attribute line includes an identifier of the first data channel and an identifier of the first application; wherein the first attribute line is an a=dcmap attribute line, and the second attribute line is an a=3gpp-req-app attribute line. Exemplarily, the first media description information includes a third attribute line, the third attribute line includes parameter information of the first data channel and an identifier of the first application, and the parameter information of the first data channel includes an identifier of the first data channel; wherein the third attribute line is an a=dcmap attribute line.
[0309] Optionally, the first SDP proposal information further indicates a correspondence between the first QoS parameter set and the first media description information. Exemplarily, the first media description information includes the first QoS parameter set. For example, the first media description information includes a fourth attribute line, and the fourth attribute line includes at least one QoS parameter in the first QoS parameter set. Exemplarily, the at least one QoS parameter includes packet loss rate and delay. For example, the fourth attribute line is a=3gpp-qos-hint attribute line.
[0310] Exemplarily, the first SDP proposal information also includes seventh media description information, and the seventh media description information is description information about media resources of a second data channel, where the second data channel is between the first communication device and the second communication device or the third communication device for transmitting application data generated or consumed by the first application, or for transmitting applications generated or consumed by the second application; the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information, which can be understood as the first media description information and the seventh media description information are included in different m segments in the first SDP proposal information; or, the first media description information and the seventh media description information are included in the fifth m segment in the first SDP proposal information, which can be understood as the first media description information and the seventh media description information are included in the same m segment in the first SDP proposal information.
[0311] S2020: The framework layer sends first media description information to the first application. Correspondingly, the first application receives the first media description information from the framework layer.
[0312] Exemplarily, if the second communication device has not downloaded the first application when the framework layer receives the first SDP proposal information, the second communication device downloads the first application according to the correspondence between the first application and the first data channel indicated by the first SDP proposal information; after the second communication device downloads the first application, the framework layer sends the first media description information to the first application. Exemplarily, if the second communication device has already downloaded the first application when the framework layer receives the first SDP proposal information, the framework layer directly sends the first media description information to the first application.
[0313] Optionally, before S2020, the framework layer obtains first media description information from first SDP proposal information from the first communication device.
[0314] Optionally, S2021, the framework layer obtains first media description information from the first SDP proposal information.
[0315] Exemplarily, if the first SDP proposal information includes the first media description information, the third media description information and / or the fourth media description information, the framework layer directly obtains the first media description information from the first proposal information.
[0316] Exemplarily, if the first SDP proposal information includes first media description information and indicates the correspondence between the first application and the first data channel, since the first media description information and the first indication information are included in the same m segment in the first SDP proposal information, the framework layer deletes the information indicating the correspondence between the first application and the first data channel in the m segment to obtain the first media description information.
[0317] Exemplarily, if the first SDP proposal information includes first media description information and indicates the correspondence between the first QoS parameter set and the first media description information, since the first media description information and the information indicating the correspondence between the first QoS parameter set and the first media description information are included in the same m segment in the first SDP proposal information, the framework layer deletes the information indicating the correspondence between the first QoS parameter set and the first media description information in the m segment to obtain the first media description information.
[0318] Exemplarily, if the first SDP proposal information includes first media description information, and indicates the correspondence between the first application and the first data channel and the correspondence between the first QoS parameter set and the first media description information, since the first media description information, the information indicating the correspondence between the first application and the first data channel, and the information indicating the correspondence between the first QoS parameter set and the first media description information are included in the same m segment in the first SDP proposal information, the framework layer deletes the information indicating the correspondence between the first application and the first data channel and the information indicating the correspondence between the first QoS parameter set and the first media description information in the m segment to obtain the first media description information.
[0319] Exemplarily, if the first SDP proposal information includes the first media description information and the seventh media description information, and the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information, it can be understood that the first media description information and the seventh media description information are included in different m segments in the first SDP proposal information, then the framework layer obtains the first media description information from the first proposal information.
[0320] Exemplarily, if the first SDP proposal information includes the first media description information and the seventh media description information, and the first media description information and the seventh media description information are included in the fifth m segment in the first SDP proposal information, it can be understood that the first media description information and the seventh media description information are included in the same m segment in the first SDP proposal information, then the framework layer deletes the a=dcmap line corresponding to the seventh media description information from the m segment to obtain the first media description information.
[0321] S2030, the first application sends the second media description information to the framework layer, the second media description information is the response of the first application running in the second communication device to the first media description information, and it can also be understood that the second media description information is the response of the second communication device to the first media description information. Exemplarily, the first application sends the second media description information to the framework layer by calling the IMSDC signaling API. Correspondingly, the framework layer receives the second media description information from the first application.
[0322] Exemplarily, the first application triggers JSEP to generate the second SDP response information by calling the createOffer API included in the Web API layer according to the first media description information, and the second SDP response information includes the second media description information; the first application sends the second SDP response information to the framework layer. After the framework layer receives the second SDP response information from the first application, the framework layer obtains the second media description information from the second SDP response information. Among them, the specific implementation method of the first application running on the second communication device triggering JSEP to generate the second SDP response information can be referred to Fig.10 Steps S1006 to S1009 in S2040: The framework layer sends a first SDP response message to the first communication device through the IMS network element, where the first SDP response message includes the second media description information. Correspondingly, the first communication device receives the first SDP response message from the framework layer through the IMS network element.
[0323] In the technical solution provided in the embodiment of the present application, after the framework layer / IMS component running on the second communication device receives the first SDP proposal information containing the first media description information from the first communication device, the first media description information can be sent to the first application (IMSDC application) running on the second communication device; after receiving the first media description information, the first application sends the second media description information to the framework layer, and the second media description information is a response to the first media description information; the framework layer can send the first SDP response information containing the second media description information to the first communication device; thereby, it is possible to implement a media negotiation service that provides a data channel for the IMSDC application.
[0324] Optionally, before S2040, the second communication device generates first SDP response information. The following is an exemplary description in conjunction with S2041.
[0325] Optionally, S2041, the second communication device generates first SDP response information according to the first SDP proposal information from the framework layer, the first SDP proposal information includes first media description information, and the first SDP response information includes second media description information.
[0326] Exemplarily, if the first SDP proposal information also includes third media description information and / or fourth media description information, the first SDP response information generated by the second communication device also includes fifth media description information and / or sixth media description information, wherein the fifth media description information is the response of the second communication device to the third media description information, and the sixth media description information is the response of the second communication device to the fourth media description information.
[0327] Exemplarily, if the first SDP proposal information also indicates the correspondence between the first application and the first data channel, the first SDP response information generated by the second communication device also indicates the correspondence between the first application and the first data channel, wherein the second media description information and the information indicating the correspondence between the first application and the first data channel are included in the same m segment in the first SDP response information.
[0328] Exemplarily, if the first SDP proposal information also indicates the correspondence between the first QoS parameter set and the first media description information, then the first SDP response information generated by the second communication device also indicates the correspondence between the second QoS parameter set and the second media description information, and the second QoS parameter set is the response of the second communication device to the first QoS parameter set; wherein the second media description information and the third indication information are included in the same m segment in the first SDP response information. Exemplarily, the second media description information includes the second QoS parameter set. For example, the second media description information includes a fourth attribute row, and the fourth attribute row includes at least one QoS parameter in the second QoS parameter set. Exemplarily, the at least one QoS parameter includes packet loss rate and delay.
[0329] Exemplarily, the first SDP proposal information also indicates the correspondence between the first application and the first data channel and the correspondence between the first QoS parameter set and the first media description information, then the first SDP response information generated by the second communication device also indicates the correspondence between the first application and the first data channel and the correspondence between the second QoS parameter set and the second media description information; wherein, the second media description information, the information indicating the correspondence between the first application and the first data channel, and the information indicating the correspondence between the second QoS parameter set and the second media description information are included in the same m segment in the first SDP response information.
[0330] Exemplarily, if the first SDP proposal information further includes seventh media description information, the first SDP response information generated by the second communication device further includes eighth media description information, and the eighth media description information is a response of the second communication device to the seventh media description information.
[0331] Among them, if the first media description information and the seventh media description information are included in the fifth m segment of the first SDP proposal information, then if the second media description information and the eighth media description information are included in the sixth m segment of the first SDP response information; if the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment of the first SDP proposal information, then if the second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment of the first SDP response information.
[0332] Exemplarily, the first SDP proposal information also includes seventh media description information, and indicates the correspondence between the first application and the first data channel and / or the correspondence between the first QoS parameter set and the first media description information. Then, the first SDP response information generated by the second communication device also includes eighth media description information, and indicates the correspondence between the first application and the first data channel and / or the correspondence between the second QoS parameter set and the second media description information.
[0333] After the second communication device obtains the first SDP proposal information and the first communication device obtains the first SDP response information, the first communication device and the second communication device can establish an SCTP coupling and send and / or receive media information through the data channel. For the specific process, please refer to Fig.10 Steps S1012 to S1016.
[0334] Optionally, the framework layer includes an IMS component and an IMSDC signaling module. Exemplarily, the IMS component in the framework layer receives a first SDP proposal information from the first communication device via the IMS network element; the IMS component sends the first SDP proposal information to the IMSDC signaling module in the framework layer; the IMSDC signaling module sends the first media description information to the first application; the first application sends the second media description information to the IMSDC signaling module; the IMSDC signaling module sends the second media description information to the IMS component; the IMS component sends the first SDP response information to the first communication device via the IMS network element, and the first SDP response information includes the second media description information. For a specific exemplary flowchart, please refer to Fig. 22 .
[0335] Fig.21 Another exemplary flow chart of a method 2100 for media negotiation provided in an embodiment of the present application is shown. In the method 2100, the first communication device includes a framework layer and a first application, the framework layer includes an IMS component and an IMSDC signaling module; the first application and the second application are IMSDC applications, and the media description information of the data channel is called an m-segment.
[0336] S2101, the first application sends first media description information to the IMSDC signaling module, where the first media description information is description information about media resources of a first data channel proposed by the first application, the first data channel is a channel between a first communication device and a second communication device for transmitting application data generated or consumed by the first application, and the IMSDC signaling module and the first application both run in the first communication device. Exemplarily, the first application sends the first media description information to the IMSDC signaling module by calling the IMSDC signaling API. Correspondingly, the IMSDC signaling module receives the first media description information from the first application. Optionally, the first communication device is a first terminal device, and the first terminal device is a calling party terminal device.
[0337] Exemplarily, the first application triggers JSEP to generate the second SDP proposal information by calling the createOffer API included in the Web API layer, and the second SDP proposal information includes the first media description information; the first application sends the second SDP proposal information to the IMSDC signaling module. After the IMSDC signaling module receives the second SDP proposal information from the first application, the IMSDC signaling module obtains the first media description information from the second SDP proposal information. The specific implementation method of the first application running on the first communication device triggering JSEP to generate the second SDP proposal information can be referred to Fig.10 Steps S1001 to S1004 in .
[0338] S2102: The IMSDC signaling module processes the first media description information or the m segments containing the first media description information.
[0339] An IMS session may support multiple applications at the same time, or it may only support one IMSDC application. When an IMS session only supports one IMSDC application, and the second communication device has downloaded the first application, the IMSDC signaling module does not need to indicate the correspondence between the first application and the first data channel to the second communication device. When an IMS session only supports one IMSDC application, and the second communication device has not downloaded the first application, the IMSDC signaling module needs to indicate the correspondence between the first application and the first data channel to the second communication device. When an IMS session supports multiple IMSDC applications, the IMSDC signaling module needs to indicate the correspondence between the first application and the first data channel to the second communication device, so that the second communication device knows which application uses the first data channel.
[0340] Optionally, if an IMS session only supports one IMSDC application and the second communication device has not downloaded the first application, or an IMS session supports multiple IMSDC applications, the IMSDC signaling module needs to indicate the correspondence between the first application and the first data channel to the second communication device, and the IMSDC signaling module adds a second attribute line in the m segment containing the first media description information, and the second attribute line includes an identifier of the first data channel and an identifier of the first application, wherein the first media description information also includes a first attribute line, and the first attribute line includes parameter information of the first data channel, and the parameter information of the first data channel includes the identifier of the first data channel, wherein the first attribute line is an a=dcmap attribute line, and the second attribute line is an a=3gpp-req-app attribute line.
[0341] If an IMS session only supports one IMSDC application, and the second communication device has not downloaded the first application, or an IMS session supports multiple IMSDC applications, the IMSDC signaling module needs to indicate the correspondence between the first application and the first data channel to the second communication device, and the IMSDC signaling module adds the identifier of the first application to the parameter information of the first data channel contained in the first media description information; specifically, the first media description information contains a third attribute line, and the third attribute line contains the parameter information of the first data channel and the identifier of the first application, and the parameter information of the first data channel contains the identifier of the first data channel. Among them, the third attribute line is a=dcmap attribute line. For an example of the correspondence between the first application and the first data channel, please refer to Fig.13 and Fig.14 .
[0342] Optionally, the first application sends a first QoS parameter set to the IMSDC signaling module, and the first QoS parameter set includes at least one QoS parameter proposed by the first application regarding the first data channel; correspondingly, the IMSDC signaling module receives the first QoS parameter set from the first application. Exemplarily, the second SDP proposal information also includes the first QoS parameter set. If the IMSDC signaling module receives the first QoS parameter set from the first application, the IMSDC signaling module adds the first QoS parameter set to the m segment containing the first media description information, and the first SDP proposal information also indicates the correspondence between the first QoS parameter set and the first media description information. For example, the first media description information includes a fourth attribute line, and the fourth attribute line includes at least one QoS parameter in the first QoS parameter set. Exemplarily, at least one QoS parameter includes packet loss rate and delay. For example, the fourth attribute line is the a=3gpp-qos-hint attribute line. For examples of adding QoS parameters in the m segment, please refer to Fig.15 .
[0343] Optionally, the first application sends a first indication message to the IMSDC signaling module, the first indication message indicates that the first data channel uses an independent bearer, the independent bearer means that the first data channel is not in the same SCTP coupling with other data channels, the other data channels are data channels other than the first data channel, and the other data channels may be data channels other than the first data channel required to be created by the first application, or data channels required to be created by other applications. Correspondingly, the IMSDC signaling module also receives the first indication message from the first application. If the IMSDC signaling module determines that the seventh media description information already exists in the IMS component and receives the first indication message, the IMS DC signaling module determines not to merge the first media description information and the seventh media description information into the same m segment, and the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information; wherein the seventh media description information is the description information about the media resources of the second data channel, and the second data channel is used between the first communication device and the second communication device or the third communication device for transmitting application data generated or consumed by the first application, or for transmitting application data generated or consumed by the second application.
[0344] Optionally, if the IMSDC signaling module determines that the seventh media description information already exists in the IMS component and receives a first QoS parameter set from the first application, the IMSDC signaling module determines not to merge the first media description information and the seventh media description information into the same m segment, and the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information.
[0345] Optionally, if the IMSDC signaling module determines that the seventh media description information already exists in the IMS component, and has not received the first indication information, and has not received the first QoS parameter set from the first application, the IMSDC signaling module determines to merge the first media description information and the seventh media description information into the same m segment, and the first media description information and the seventh media description information are included in the fifth m segment in the first SDP proposal information. Exemplarily, the IMSDC signaling module may add an a=dcmap attribute row corresponding to the first media description information and a second attribute row including an identifier of the first data channel and an identifier of the first application to the m segment that already includes the seventh media description information. Exemplarily, the IMSDC signaling module may add an a=dcmap attribute row corresponding to the seventh media description information and a second attribute row including an identifier of the first data channel and an identifier of the first application to the m segment that includes the first media description information.
[0346] S2103, the IMSDC signaling module sends the processed first media description information, or the first m segments containing the first media description information and the second m segments containing the seventh media description information, or the fifth m segments after the first media description information and the seventh media description information are combined, to the IMS component. Correspondingly, the IMS component receives the processed first media description information, or the first m segments containing the first media description information and the second m segments containing the seventh media description information, or the fifth m segments after the first media description information and the seventh media description information are combined, from the IMSDC signaling module.
[0347] Exemplarily, the first SDP proposal information includes the processed first media description information. For example, the first SDP proposal information includes the first media description information, the processed first media description information includes a third attribute line, the third attribute line includes parameter information of the first data channel and an identifier of the first application, and the parameter information of the first data channel includes the identifier of the first data channel. , wherein the third attribute line is an a=dcmap attribute line.
[0348] For another example, the processed first media description information includes a first attribute line and a second attribute line, the first attribute line includes parameter information of a first data channel, the parameter information of the first data channel includes an identifier of the first data channel, and the second attribute line includes an identifier of the first data channel and an identifier of the first application. For another example, the processed first media description information includes a first QoS parameter set, which is used to indicate a correspondence between the first QoS parameter set and the first media description information.
[0349] S2104, the IMS component generates first SDP proposal information, where the first SDP proposal information includes the processed first media description information, or the first m segments including the first media description information and the second m segments including the seventh media description information, or the fifth m segments after the first media description information and the seventh media description information are combined. Specifically, the IMS component generates the first SDP proposal information according to the processed first media description information, or the first m segments including the first media description information and the second m segments including the seventh media description information, or the fifth m segments after the first media description information and the seventh media description information are combined.
[0350] Optionally, the first SDP proposal information also includes third media description information and / or fourth media description information; wherein the third media description information is description information about media resources of an audio channel proposed by the framework layer, and the audio channel is used to transmit audio data of a call service of the first communication device; and the fourth media description information is description information about media resources of a video channel proposed by the framework layer, and the video channel is used to transmit video data of a call service of the first communication device.
[0351] S2105, the IMS component sends the first SDP proposal information to the second communication device through the IMS network element. Correspondingly, the second communication device receives the first SDP proposal information from the IMS component through the IMS network element.
[0352] Optionally, the IMS network element includes a P-CSCF network element. The IMS network element is one or more IMS network elements in the IMS network, and the first IMS network element in the IMS network that interacts with the IMS component is the P-CSCF network element. Exemplarily, the IMS component sends the first SDP proposal information to the second communication device through one or more IMS network elements in the IMS network, and the second communication device receives the first SDP proposal information from the IMS component through one or more IMS network elements in the IMS network.
[0353] S2106: The second communication device generates first SDP response information according to the first SDP proposal information.
[0354] Exemplarily, if the first SDP proposal information includes the first media description information after the above processing, the first SDP response information generated by the second communication device includes the second media description information, and the second media description information is the response of the second communication device to the first media description information.
[0355] Exemplarily, if the first SDP proposal information includes first media description information and indicates the correspondence between the first application and the first data channel, the first SDP response information generated by the second communication device includes second media description information and indicates the correspondence between the first application and the first data channel.
[0356] Exemplarily, if the first SDP proposal information includes first media description information and indicates the correspondence between the first QoS parameter set and the first media description information, then the first SDP response information generated by the second communication device includes second media description information and indicates the correspondence between the second QoS parameter set and the second media description information, and the second QoS parameter set is the response of the second communication device to the first QoS parameter set.
[0357] Exemplarily, if the first SDP proposal information includes first media description information and indicates the correspondence between the first application and the first data channel and the correspondence between the first QoS parameter set and the first media description information, then the first SDP response information generated by the second communication device includes second media description information and indicates the correspondence between the first application and the first data channel and the correspondence between the second QoS parameter set and the second media description information.
[0358] Exemplarily, if the first SDP proposal information includes the first media description information and the seventh media description information, the first SDP response information generated by the second communication device includes the second media description information and the eighth media description information, and the eighth media description information is the response of the second communication device to the seventh media description information. The second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment in the first SDP response information, which can be understood as the second media description information and the eighth media description information are included in the same m segment in the first SDP proposal information after being merged and processed by the second communication device; or, the second media description information and the eighth media description information are included in the sixth m segment in the first SDP response information, which can be understood as the eighth media description information and the second media description information are included in different m segments in the first SDP response information.
[0359] Among them, if the first media description information and the seventh media description information are included in the fifth m segment of the first SDP proposal information, then if the second media description information and the eighth media description information are included in the sixth m segment of the first SDP response information; if the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment of the first SDP proposal information, then if the second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment of the first SDP response information.
[0360] Exemplarily, if the first SDP proposal information includes first media description information, seventh media description information, first indication information and / or second indication information, the first SDP response information generated by the second communication device includes second media description information, eighth media description information, and indicates the correspondence between the first application and the first data channel and / or the correspondence between the second QoS parameter set and the second media description information.
[0361] S2107: The second communication device sends the first SDP response information to the IMS component via the IMS network element. Correspondingly, the IMS component receives the first SDP response information from the second communication device via the IMS network element.
[0362] S2108, the IMS component obtains information related to the data channel from the first SDP response information, and sends the information related to the data channel to the IMSDC signaling module, where the information related to the data channel includes the second media description information, or the second media description information and the eighth media description information; correspondingly, the IMSDC signaling module receives the information related to the data channel from the IMS component.
[0363] In which, when the information related to the data channel includes the second media description information and the eighth media description information, the second media description information and the eighth media description information may be merged and processed by the second communication device and be in the same m segment, and the second media description information and the eighth media description information may also be in different m segments.
[0364] S2109: The IMSDC signaling module obtains second media description information from the information related to the data channel.
[0365] Exemplarily, if the information related to the data channel includes the second media description information and the eighth media description information, and the second media description information and the eighth media description information are in the same m-segment after being merged by the second communication device, the IMSDC signaling module splits the merged second media description information and the eighth media description information to obtain the second media description information. For specific examples of splitting media description information of different data channels, please refer to Fig.19 .
[0366] Exemplarily, if the information related to the data channel includes the second media description information and the eighth media description information, and the second media description information and the eighth media description information are in different m-segments, the IMSDC signaling module directly obtains the second media description information from the information related to the data channel.
[0367] S2110, the IMSDC signaling module sends second media description information to the first application; correspondingly, the first application receives the second media description information from the IMSDC signaling module.
[0368] After the second communication device obtains the first SDP proposal information and the first communication device obtains the first SDP response information, the first communication device and the second communication device can establish an SCTP coupling and send and / or receive media information through the data channel. For the specific process, please refer to Fig.10 Steps S1012 to S1016.
[0369] Fig. 22 Another exemplary flow chart of a method 2200 for media negotiation provided in an embodiment of the present application is shown. In the method 2200, the second communication device includes a framework layer and a first application, the framework layer includes an IMS component and an IMSDC signaling module; the first application and the second application are IMSDC applications, and the media description information of the data channel is called an m-segment.
[0370] S2201, the first communication device sends a first SDP proposal information to the IMS component through the IMS network element, the first SDP proposal information includes first media description information, the first media description information is description information about the media resources of the first data channel, the first data channel is a channel between the first communication device and the second communication device for transmitting application data generated or consumed by the first application, and the IMS component runs in the second communication device. Optionally, the first application also runs in the second communication device. Correspondingly, the IMS component receives the first SDP proposal information from the first communication device through the IMS network element.
[0371] Optionally, the first communication device is a first terminal device, the first terminal device is a calling party terminal device. The second communication device is a second terminal device or a server corresponding to the first application, the second terminal device or the server corresponding to the first application is a called party terminal device.
[0372] Optionally, the IMS network element includes a P-CSCF network element. The IMS network element is one or more IMS network elements in the IMS network, and the first IMS network element in the IMS network that interacts with the first communication device is a P-CSCF network element. Exemplarily, the first communication device sends the first SDP proposal information to the IMS component through one or more IMS network elements in the IMS network, and the IMS component receives the first SDP proposal information from the first communication device through one or more IMS network elements in the IMS network.
[0373] Exemplarily, the first SDP proposal information also includes third media description information and / or fourth media description information; wherein the third media description information is description information about media resources of an audio channel proposed by the first communication device, and the audio channel is used to transmit audio data of a call service of the first communication device; and the fourth media description information is description information about media resources of a video channel proposed by the first communication device, and the video channel is used to transmit video data of a call service of the first communication device.
[0374] Optionally, the first SDP proposal information indicates the correspondence between the first application and the first data channel. Exemplarily, the first media description information includes a first attribute line and a second attribute line, the first attribute line includes parameter information of the first data channel, the parameter information of the first data channel includes an identifier of the first data channel, and the second attribute line includes an identifier of the first data channel and an identifier of the first application; wherein the first attribute line is an a=dcmap attribute line, and the second attribute line is an a=3gpp-req-app attribute line. Exemplarily, the first media description information includes a third attribute line, the third attribute line includes parameter information of the first data channel and an identifier of the first application, and the parameter information of the first data channel includes an identifier of the first data channel; wherein the third attribute line is an a=dcmap attribute line.
[0375] Optionally, the first SDP proposal information further indicates a correspondence between the first QoS parameter set and the first media description information. Exemplarily, the first media description information includes the first QoS parameter set. For example, the first media description information includes a fourth attribute line, and the fourth attribute line includes at least one QoS parameter in the first QoS parameter set. For example, the fourth attribute line is a=3gpp-qos-hint attribute line. For example, the fourth attribute line is a=3gpp-qos-hint attribute line. Exemplarily, at least one QoS parameter includes packet loss rate and delay.
[0376] Exemplarily, the first SDP proposal information also includes seventh media description information, and the seventh media description information is description information about media resources of a second data channel, where the second data channel is between the first communication device and the second communication device or the third communication device for transmitting application data generated or consumed by the first application, or for transmitting applications generated or consumed by the second application; the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information, which can be understood as the seventh media description information and the first media description information are included in different m segments in the first SDP proposal information; or, the first media description information and the seventh media description information are included in the fifth m segment in the first SDP proposal information, which can be understood as the seventh media description information and the first media description information are included in the same m segment in the first SDP proposal information.
[0377] S2202, the IMS component obtains information related to the data channel from the first SDP proposal information, and sends the information related to the data channel to the IMSDC signaling module, where the information related to the data channel includes the first media description information, or the first media description information and the seventh media description information; correspondingly, the IMSDC signaling module receives the information related to the data channel from the IMS component.
[0378] In which, when the information related to the data channel includes the first media description information and the seventh media description information, the first media description information and the seventh media description information may be in the same m segment after being merged and processed by the first communication device, and the first media description information and the seventh media description information may also be in different m segments.
[0379] S2203: The IMSDC signaling module obtains first media description information from information related to the data channel.
[0380] Exemplarily, if the information related to the data channel includes first media description information and seventh media description information, and the first media description information and the seventh media description information are in the same m segment after being merged and processed by the first communication device, the IMSDC signaling module splits the merged first media description information and the seventh media description information to obtain the first media description information.
[0381] Exemplarily, if the information related to the data channel includes the first media description information and the seventh media description information, and the first media description information and the seventh media description information are in different m-segments, the IMSDC signaling module directly obtains the first media description information from the information related to the data channel. S2204, the IMSDC signaling module sends the first media description information to the first application; correspondingly, the first application receives the first media description information from the IMSDC signaling module.
[0382] Exemplarily, if the second communication device has not downloaded the first application when the IMS component receives the first SDP proposal information, the second communication device downloads the first application according to the first indication information included in the first SDP proposal information; after the second communication device downloads the first application, the IMSDC signaling module sends the first media description information to the first application. Exemplarily, if the second communication device has already downloaded the first application when the IMS component receives the first SDP proposal information, the IMSDC signaling module directly sends the first media description information to the first application.
[0383] S2205, the first application sends the second media description information to the IMSDC signaling module. The second media description information is the response of the first application running in the second communication device to the first media description information. It can also be understood that the second media description information is the response of the second communication device to the first media description information. Exemplarily, the first application triggers JSEP to generate the second media description information by calling the createOffer API included in the Web API layer according to the first media description information; the first application sends the second media description information to the IMSDC signaling module. Exemplarily, the first application sends the second media description information to the IMSDC signaling module by calling the IMSDC signaling API. Correspondingly, the IMSDC signaling module receives the second media description information from the first application.
[0384] Exemplarily, the first application triggers JSEP to generate the second SDP response information by calling the createOffer API included in the Web API layer according to the first media description information, and the second SDP response information includes the second media description information; the first application sends the second SDP response information to the IMSDC signaling module. After the IMSDC signaling module receives the second SDP response information from the first application, the IMSDC signaling module obtains the second media description information from the second SDP response information. Among them, the specific implementation method of the first application running on the second communication device triggering JSEP to generate the second SDP response information can be referred to Fig.10 Steps S1006 to S1009 in .
[0385] S2206: The IMSDC signaling module processes the second media description information or the m segments containing the second media description information.
[0386] Optionally, if the first media description information acquired by the IMSDC signaling module includes a second attribute line, the IMSDC signaling module adds the second attribute line to the m segment including the second media description information, where the second attribute line includes an identifier of the first data channel and an identifier of the first application.
[0387] Optionally, if the first media description information acquired by the IMSDC signaling module includes a third attribute line, the IMSDC signaling module adds the identifier of the first application to the parameter information of the first data channel included in the second media description information; specifically, the first media description information includes a third attribute line, the third attribute line includes the parameter information of the first data channel and the identifier of the first application, and the parameter information of the first data channel includes the identifier of the first data channel. The third attribute line is a=dcmap attribute line.
[0388] Optionally, if the first media description information acquired by the IMSDC signaling module includes a first QoS parameter set, the IMSDC signaling module adds a second QoS parameter set in the m segment containing the second media description information, and the second QoS parameter set is a response of the second communication device to the first QoS parameter set. Exemplarily, for example, the first media description information includes a fourth attribute line, and the fourth attribute line includes at least one QoS parameter in the second QoS parameter set. Exemplarily, at least one QoS parameter includes packet loss rate and delay. For example, the fourth attribute line is an a=3gpp-qos-hint attribute line.
[0389] Optionally, if the information related to the data channel received by the IMSDC signaling module from the IMS component includes the first media description information and the seventh media description information, and the first media description information and the seventh media description information are included in the fifth m segment in the first SDP proposal information (the first media description information and the seventh media description information are in the same m segment after being merged and processed by the first communication device), the IMS DC signaling module merges the second media description information and the eighth media description information into the same m segment, and the second media description information and the eighth media description information are included in the sixth m segment in the first SDP response information. The eighth media description information is the response of the second communication device to the seventh media description information. Exemplarily, the IMSDC signaling module may add an a=dcmap attribute row corresponding to the eighth media description information and a second attribute row containing the identifier of the first data channel and the identifier of the first application in the m segment that already contains the second media description information.
[0390] Optionally, if the information related to the data channel received by the IMSDC signaling module from the IMS component includes the first media description information and the seventh media description information, and the first media description information and the seventh media description information are respectively included in the first m segment and the second m segment in the first SDP proposal information (the first media description information and the seventh media description information are in different m segments), then the IMSDC signaling module does not merge the second media description information and the eighth media description information into the same m segment, and the second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment in the first SDP response information. Among them, the eighth media description information is the response of the second communication device to the seventh media description information.
[0391] S2207, the IMSDC signaling module sends the processed second media description information, or the third m segment containing the second media description information and the fourth m segment containing the eighth media description information, or the sixth m segment after the second media description information and the eighth media description information are combined, to the IMS component. Correspondingly, the IMS component receives the processed second media description information, or the third m segment containing the second media description information and the fourth m segment containing the eighth media description information, or the sixth m segment after the second media description information and the eighth media description information are combined, from the IMSDC signaling module.
[0392] Exemplarily, the first SDP response information includes the processed second media description information. For example, the first SDP response information includes the second media description information, and the processed second media description information includes a third attribute line, and the third attribute line includes parameter information of the first data channel and an identifier of the first application, and the parameter information of the first data channel includes an identifier of the first data channel. Among them, the third attribute line is an a=dcmap attribute line.
[0393] For another example, the processed second media description information includes a first attribute line and a second attribute line, the first attribute line includes parameter information of a first data channel, the parameter information of the first data channel includes an identifier of the first data channel, and the second attribute line includes an identifier of the first data channel and an identifier of the first application. For another example, the processed second media description information includes a second QoS parameter set, which is used to indicate a correspondence between the second QoS parameter set and the second media description information.
[0394] S2208, the IMS component generates a first SDP response information, the first SDP response information includes the processed second media description information, or includes m segments of the second media description information and m segments of the eighth media description information, or includes m segments after the second media description information and the eighth media description information are combined.
[0395] The first SDP response information also includes fifth media description information and / or sixth media description information; wherein the fifth media description information is the response of the second communication device to the third media description information, and the sixth media description information is the response of the second communication device to the fourth media description information.
[0396] S2209, the IMS component sends first SDP response information to the first communication device through the IMS network element. Correspondingly, the first communication device receives the first SDP response information from the IMS component through the IMS network element.
[0397] Optionally, the IMS network element includes a P-CSCF network element. The IMS network element is one or more IMS network elements in the IMS network, and the first IMS network element in the IMS network that interacts with the IMS component is the P-CSCF network element. Exemplarily, the IMS component sends the first SDP response information to the first communication device through one or more IMS network elements in the IMS network, and the first communication device receives the first SDP response information from the IMS component through one or more IMS network elements in the IMS network.
[0398] After the second communication device obtains the first SDP proposal information and the first communication device obtains the first SDP response information, the first communication device and the second communication device can establish an SCTP coupling and send and / or receive media information through the data channel. For the specific process, please refer to Fig.10 Steps S1012 to S1016.
[0399] Corresponding to the methods given in the above-mentioned method embodiments, the embodiments of the present application also provide corresponding devices, which include modules for executing the corresponding methods in the above-mentioned method embodiments. The module can be software, hardware, or a combination of software and hardware. It can be understood that the technical features described in the above-mentioned method embodiments are also applicable to the following device embodiments. Therefore, the contents not described in detail can be referred to the above method embodiments, and for the sake of brevity, they will not be repeated here.
[0400] Fig.23 1 is a schematic block diagram of a communication device 10 provided in an embodiment of the present application. The device 10 includes a transceiver module 11 and / or a processing module 12. The transceiver module 11 can implement corresponding communication functions, and the processing module 12 is used to perform data processing, or in other words, the transceiver module 11 is used to perform operations related to receiving and sending, and the processing module 12 is used to perform other operations besides receiving and sending. The transceiver module 11 can also be called a communication interface or a communication unit.
[0401] Optionally, the device 10 may also include a storage module 13, which can be used to store instructions and / or data. The processing module 12 can read the instructions and / or data in the storage module so that the device implements the actions of the device or network element in the aforementioned method embodiments.
[0402] In one design, the device 10 may correspond to the frame layer (eg Fig.12 or Fig. 20 The framework layer in the system), or a component of the framework layer (such as a chip).
[0403] The device 10 can implement the steps or processes executed by the framework layer in the above method embodiment, wherein the transceiver module 11 can be used to execute the transceiver-related operations of the framework layer in the above method embodiment, and the processing module 12 can be used to execute the processing-related operations of the framework layer in the above method embodiment.
[0404] In one possible implementation, the device 10 may implement the steps or processes executed by the framework layer in method 1200 in the above method embodiment. Exemplarily, the transceiver module 11 is used to receive first media description information from a first application, where the first media description information is description information about media resources of a first data channel proposed by the first application, and the first data channel is a channel between a first communication device and a second communication device for transmitting application data generated or consumed by the first application, and the framework layer and the first application both run in the first communication device.
[0405] In a possible implementation, the device 10 may implement the steps or processes executed by the framework layer in the method 2000 in the above method embodiment. Exemplarily, the transceiver module 11 is used to receive first SDP proposal information from a first communication device, the first SDP proposal information includes first media description information, the first media description information is description information of media resources proposed by a first application about a first data channel, the first data channel is a channel between the first communication device and the second communication device for transmitting application data generated or consumed by the first application, the first application runs in the first communication device and the second communication device, and the framework layer runs in the second communication device.
[0406] It can be understood that the specific process of each module executing the above corresponding steps has been described in detail in the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0407] It can also be understood that the device 10 here is embodied in the form of a functional module. The term "module" here may refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor (such as a shared processor, a proprietary processor or a group processor, etc.) and a memory for executing one or more software or firmware programs, a merged logic circuit and / or other suitable components that support the described functions. In an optional example, those skilled in the art can understand that the device 10 can be specifically a terminal device in the above-mentioned embodiment, and can be used to execute the various processes and / or steps corresponding to the terminal device in the above-mentioned method embodiments; or, the device 10 can be specifically a network device in the above-mentioned embodiment, and can be used to execute the various processes and / or steps corresponding to the network device in the above-mentioned method embodiments. To avoid repetition, it will not be repeated here.
[0408] The device 10 of each of the above schemes has the function of implementing the corresponding steps performed by the framework layer in the above method. This function can be implemented by hardware, or by hardware executing the corresponding software implementation. The hardware or software includes one or more modules corresponding to the above functions; for example, the transceiver module can be replaced by a transceiver (for example, the sending unit in the transceiver module can be replaced by a transmitter, and the receiving unit in the transceiver module can be replaced by a receiver), and other units, such as the processing module, can be replaced by a processor to respectively perform the transceiver operations and related processing operations in each method embodiment.
[0409] In addition, the transceiver module 11 may also be a transceiver circuit (for example, may include a receiving circuit and a sending circuit), and the processing module may be a processing circuit.
[0410] Fig.242 is a schematic diagram of another communication device 20 provided in an embodiment of the present application. The device 20 includes a processor 21, and the processor 21 is used to execute a computer program or instruction stored in a memory 22, or read data / signaling stored in the memory 22 to execute the method in each method embodiment above. Optionally, there are one or more processors 21.
[0411] Alternatively, if Fig.24 As shown, the device 20 also includes a memory 22, which is used to store computer programs or instructions and / or data. The memory 22 can be integrated with the processor 21, or can also be separately set. Optionally, the memory 22 is one or more.
[0412] Alternatively, if Fig.24 As shown, the device 20 further includes a transceiver 23, and the transceiver 23 is used for receiving and / or sending signals. For example, the processor 21 is used to control the transceiver 23 to receive and / or send signals.
[0413] As a solution, the device 20 is used to implement the operations performed by the framework layer in the above various method embodiments.
[0414] It is understandable that the processor mentioned in the embodiments of the present application may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.
[0415] It can also be understood that the memory mentioned in the embodiments of the present application can be a volatile memory and / or a non-volatile memory. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM). For example, RAM can be used as an external cache. By way of example and not limitation, RAM includes the following forms: static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DRRAM).
[0416] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, the memory (storage module) can be integrated into the processor.
[0417] It should also be noted that the memory described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0418] Fig.25 Schematic diagram of a chip system 30 provided in an embodiment of the present application. The chip system 30 (or also referred to as a processing system) includes a logic circuit 31 and an input / output interface 32.
[0419] Among them, the logic circuit 31 can be a processing circuit in the chip system 30. The logic circuit 31 can be coupled to the storage unit and call the instructions in the storage unit so that the chip system 30 can implement the methods and functions of each embodiment of the present application. The input / output interface 32 can be an input / output circuit in the chip system 30, outputting information processed by the chip system 30, or inputting data or signaling information to be processed into the chip system 30 for processing.
[0420] As a solution, the chip system 30 is used to implement the operations performed by the network function virtualization orchestrator in the above method embodiments.
[0421] For example, the logic circuit 31 is used to implement the processing-related operations performed by the framework layer in the above method embodiment, such as: Fig.12 or Fig. 20 The processing-related operations performed by the framework layer in the illustrated embodiment; the input / output interface 32 is used to implement the sending and / or receiving-related operations performed by the first terminal device in the above method embodiment, such as Fig.12 or Fig. 20 The framework layer in the illustrated embodiment performs sending and / or receiving related operations.
[0422] An embodiment of the present application also provides a computer-readable storage medium on which computer instructions for implementing the methods executed by the device in the above-mentioned method embodiments are stored.
[0423] An embodiment of the present application also provides a computer program product, comprising instructions, which, when executed by a computer, implement the methods performed by the device in the above-mentioned method embodiments.
[0424] The embodiment of the present application further provides a communication system, including the aforementioned first communication device and the second communication device, and optionally, further including the aforementioned third communication device.
[0425] The explanation of the relevant contents and beneficial effects of any of the above-mentioned devices can be referred to the corresponding method embodiments provided above, which will not be repeated here.
[0426] 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 units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, 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.
[0427] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. For example, the computer can be a personal computer, a server, or a network device, etc. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that contains one or more available media integrations. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)). For example, the aforementioned available medium includes, but is not limited to, various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0428] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A method for media negotiation, characterized in that: include: receiving first media description information from a first application, where the first media description information is description information about a media resource of a first data channel proposed by the first application, where the first data channel is a channel between a first communication device and a second communication device for transmitting application data generated or consumed by the first application, and the first application runs in the first communication device; Sending first SDP proposal information to the second communication device through an IMS network element, where the first SDP proposal information includes the first media description information; receiving, by the IMS network element, first SDP response information from the second communication device, where the first SDP response information includes second media description information, and the second media description information is a response to the first media description information; The second media description information is sent to the first application.
2. The method according to claim 1, characterized in that The first SDP proposal information further includes third media description information and / or fourth media description information; The first SDP response information further includes fifth media description information and / or sixth media description information; Among them, the third media description information is the description information of the media resources of the audio channel proposed by the first communication device, and the audio channel is used to transmit the audio data of the call service of the first communication device. The fourth media description information is the description information of the media resources of the video channel proposed by the first communication device, and the video channel is used to transmit the video data of the call service of the first communication device. The fifth media description information is a response to the fifth media description information, and the sixth media description information is a response to the sixth media description information.
3. The method according to claim 1 or 2, characterized in that: The method further comprises: The first SDP proposal information and the first SDP response information both indicate a corresponding relationship between the first application and the first data channel.
4. The method according to claim 3, characterized in that: The first media description information and the second media description information both include a first attribute line and a second attribute line, the first attribute line includes parameter information of the first data channel, the parameter information includes an identifier of the first data channel, and the second attribute line includes an identifier of the first application and an identifier of the first data channel; or, The first media description information and the second media description information both include a third attribute line, the third attribute line includes parameter information of the first data channel and an identifier of the first application, and the parameter information includes the identifier of the first data channel.
5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: Receiving a first quality of service (QoS) parameter set from the first application, the first QoS parameter set comprising at least one QoS parameter proposed by the first application with respect to the first data channel; The first SDP proposal information further indicates a correspondence between the first QoS parameter set and the first media description information; The first SDP response information also indicates a correspondence between a second QoS parameter set and the second media description information, and the second QoS parameter set is a response of the second communication device to the first QoS parameter set.
6. The method according to claim 5, characterized in that The first media description information includes the first QoS parameter set, and the second media description information includes the second QoS parameter set.
7. The method according to claim 5 or 6, characterized in that: The at least one QoS parameter includes packet loss rate and delay.
8. The method according to any one of claims 1 to 7, characterized in that The method further comprises: First indication information is received from the first application, where the first indication information indicates that the first data channel uses an independent bearer.
9. The method according to any one of claims 5 to 8, characterized in that The first media description information and the seventh media description information are respectively included in the first m segment and the second m segment of the first SDP proposal information, the seventh media description information is description information about media resources of a second data channel, and the second data channel is used for transmitting application data generated or consumed by the first application or the second application between the first communication device and the second communication device or the third communication device; The second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment of the first SDP response information, and the eighth media description information is a response to the seventh media description information.
10. The method according to any one of claims 1 to 4, characterized in that The first media description information and the seventh media description information are included in the fifth m segment of the first SDP proposal information, the seventh media description information is description information about media resources of a second data channel, and the second data channel is used for transmitting application data generated or consumed by the first application or the second application between the first communication device and the second communication device or the third communication device; The second media description information and the eighth media description information are included in the sixth m segment in the first SDP response information, and the eighth media description information is a response to the seventh media description information.
11. The method according to any one of claims 1 to 10, characterized in that The first communication device is a first terminal device; The second communication device is a second terminal device or a server corresponding to the first application.
12. The method according to any one of claims 1 to 11, characterized in that The IMS network element includes a P-CSCF network element.
13. A method for media negotiation, characterized in that: include: receiving, through the IMS network element, first SDP proposal information from a first communication device, where the first SDP proposal information includes first media description information, where the first media description information is description information about media resources of a first data channel, where the first data channel is a channel between the first communication device and a second communication device for transmitting application data generated or consumed by the first application; sending the first media description information to the first application, where the first application runs in the second communication device; receiving second media description information from the first application, where the second media description information is a response of the first application to the first media description information; The first SDP response information is sent to the first communication device through the IMS network element, where the first SDP response information includes the second media description information.
14. The method according to claim 13, characterized in that The first SDP proposal information further includes third media description information and / or fourth media description information; The first SDP response information further includes fifth media description information and / or sixth media description information; Among them, the third media description information is the description information of the media resources of the audio channel proposed by the first communication device, and the audio channel is used to transmit the audio data of the call service of the first communication device. The fourth media description information is the description information of the media resources of the video channel proposed by the first communication device, and the video channel is used to transmit the video data of the call service of the first communication device. The fifth media description information is a response to the fifth media description information, and the sixth media description information is a response to the sixth media description information.
15. The method according to claim 13 or 14, characterized in that The method further comprises: The first SDP proposal information and the first SDP response information both indicate a corresponding relationship between the first application and the first data channel.
16. The method according to claim 15, characterized in that The first media description information and the second media description information both include a first attribute line and a second attribute line, the first attribute line includes parameter information of the first data channel, the parameter information includes an identifier of the first data channel, and the second attribute line includes an identifier of the first application and an identifier of the first data channel; or, The first media description information and the second media description information both include a third attribute line, the third attribute line includes parameter information of the first data channel and an identifier of the first application, and the parameter information includes the identifier of the first data channel.
17. The method according to any one of claims 13 to 16, characterized in that The first SDP proposal information further indicates a correspondence between a first QoS parameter set and the first media description information, where the first QoS parameter set includes at least one QoS parameter proposed by the first application with respect to the first data channel; The first SDP response information also indicates a correspondence between a second QoS parameter set and the second media description information, and the second QoS parameter set is a response of the second communication device to the first QoS parameter set.
18. The method according to claim 17, characterized in that The first media description information includes the first QoS parameter set, and the second media description information includes the second QoS parameter set.
19. The method according to claim 17 or 18, characterized in that The at least one QoS parameter includes packet loss rate and delay.
20. The method according to any one of claims 17 to 19, characterized in that The first media description information and the seventh media description information are respectively included in the first m segment and the second m segment of the first SDP proposal information, the seventh media description information is description information about media resources of a second data channel, and the second data channel is used for transmitting application data generated or consumed by the first application or the second application between the first communication device and the second communication device or the third communication device; The second media description information and the eighth media description information are respectively included in the third m segment and the fourth m segment of the first SDP response information, and the eighth media description information is a response to the seventh media description information.
21. The method according to any one of claims 13 to 16, characterized in that The first media description information and the seventh media description information are included in the fifth m segment of the first SDP proposal information, the seventh media description information is description information about media resources of a second data channel, and the second data channel is used for transmitting application data generated or consumed by the first application or the second application between the first communication device and the second communication device or the third communication device; The second media description information and the eighth media description information are included in the sixth m segment in the first SDP response information, and the eighth media description information is a response to the seventh media description information.
22. The method according to any one of claims 13 to 21, characterized in that The first communication device is a first terminal device; The second communication device is a second terminal device or a server corresponding to the first application.
23. The method according to any one of claims 13 to 22, characterized in that The IMS network element includes a P-CSCF network element.
24. A communication device, characterized in that: The apparatus comprises: a module for executing the method of any one of claims 1 to 12, or a module for executing the method of any one of claims 13 to 23.
25. A communication device, characterized in that: include: A processor, configured to execute a computer program stored in a memory, so that the apparatus performs the method according to any one of claims 1 to 12, or so that the apparatus performs the method according to any one of claims 13 to 23.
26. A computer program product, characterized in that The computer program product comprises instructions for executing the method of any one of claims 1 to 12, or the computer program product comprises instructions for executing the method of any one of claims 13 to 23.
27. A computer-readable storage medium, characterized in that: include: The computer-readable storage medium stores a computer program; when the computer program is executed on a computer, the computer executes the method according to any one of claims 1 to 12, or the computer executes the method according to any one of claims 13 to 23.
28. A communication system, characterized in that: comprising a first communication device and a second communication device, The first communication device is used to execute the method according to any one of claims 1 to 12, and the second communication device is used to execute the method according to any one of claims 13 to 23.
Citation Information
Cited By
Media negotiation method, apparatus and system
EP4708814A1
Media negotiation method, apparatus and system
WO2025039846A1