SDP message associated with data channel streams

The proposed SDP message solution addresses the challenge of expressing relationships between media streams and data channel SCTP streams by using specific attributes for grouping within the SDP, thereby enabling effective synchronization of multiple data channel streams and media streams in IMS Data Channel scenarios.

WO2025107179A1PCT designated stage expired Publication Date: 2025-05-30NOKIA TECHNOLOGIES OY +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/133285
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-22
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

Current Session Description Protocol (SDP) messages lack the ability to effectively express relationships between media streams and data channel SCTP streams, or between different data channel SCTP streams, which is essential for synchronizing multiple data channel streams and media streams in IMS Data Channel scenarios.

Method used

The proposed solution involves generating an SDP message with specific media-level attributes and session-level attributes. The SDP message includes a first media-level attribute or an option of a second media-level attribute to identify data channel streams, and a session-level attribute for grouping data channel streams or combining them with media streams. This allows for the synchronization of multiple data channel streams and media streams within an SDP.

Benefits of technology

This solution enables the expression of relationships between media streams and data channel SCTP streams, facilitating the synchronization of multiple data channel streams and media streams. It improves the ability to manage and coordinate complex IMS services by ensuring valid and effective grouping of data channel streams and media streams.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023133285_30052025_PF_FP_ABST
    Figure CN2023133285_30052025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a solution for a session description protocol (SDP) message associated with data channel streams. In an aspect, a first terminal device generates, an SDP message comprising a first media-level attribute or an option of a second media-level attribute. The first media-level attribute or the option is used for identifying a data channel stream within a session description. The SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream. The first terminal device transmits the SDP message to a second terminal device via one or more network devices. The embodiments of the present disclosure can express a particular relationship between media stream and data channel SCTP stream, or between different data channel SCTP streams.
Need to check novelty before this filing date? Find Prior Art

Description

SDP MESSAGE ASSOCIATED WITH DATA CHANNEL STREAMSFIELD

[0001] Various example embodiments relate to the field of communications and in particular, to terminal devices, a network device, methods, apparatuses and a computer readable storage medium for a solution for a session description protocol (SDP) message associated with data channel streams.BACKGROUND

[0002] In the communications area, there is a constant evolution ongoing in order to provide efficient and reliable solutions for utilizing wireless communication networks. Each new generation has it owns technical challenges for handling the different situations and processes that are needed to connect and serve devices connected to the wireless network. To meet the demand for wireless data traffic having increased since deployment of 4th generation (4G) communication systems, efforts have been made to develop an improved 5th generation (5G) or pre-5G communication system.

[0003] In recent communication technologies, the IP multimedia subsystem (IMS) Data Channel is an extension of the IMS solution, and is designed to support multimedia applications that are transported over protocols other than RTP (e.g., voice, video, SMS defined in GSMA IR. 92, GSMA IR. 94, and GSMA NG. 114) . To establish an IMS Data Channel media stream, SIP / SDP is used in addition to audio / video / real-time text media streams. A Data Channel Multimedia Telephony Service for IMS (DCMTSI) client can establish Bootstrap Data Channel with Data Channel Signalling Function (DCSF) and using HTTP protocol to retrieve root application first. Following this, an Application Data Channel can be established with DCSF or another DCMTSI client. The IMS Data Channel integrates internet connectivity and IMS connectivity, enhancing the ability of IMS to establish real-time communication between two endpoints for exchanging any form of data information in an action-oriented and multi-modal way.SUMMARY

[0004] In general, example embodiments of the present disclosure provide a solution for a session description protocol (SDP) message associated with data channel streams, especially  a solution for multiple data channel streams and media streams synchronization within an SDP.

[0005] In a first aspect, there is provided a first terminal device. The first terminal device comprises at least one processor; and at least one memory including computer program codes; the at least one memory and the computer program codes are configured to, with the at least one processor, cause the first terminal device to generate, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; and transmit the SDP message to a second terminal device via one or more network devices.

[0006] In a second aspect, there is provided a second terminal device. The second terminal device comprises at least one processor; and at least one memory including computer program codes; the at least one memory and the computer program codes are configured to, with the at least one processor, cause the second terminal device to receive, from a first terminal device, a first session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; generate a second SDP message responsive to the first SDP message; and transmit the second SDP message to the first terminal device via one or more network devices.

[0007] In a third aspect, there is provided a network device. The network device comprises at least one processor; and at least one memory including computer program codes; the at least one memory and the computer program codes are configured to, with the at least one processor, cause the network device to receive, from a terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream;  and perform an operation based on the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream.

[0008] In a fourth aspect, there is provided a method. The method comprises: generating, at a first terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; and transmitting the SDP message to a second terminal device via one or more network devices.

[0009] In a fifth aspect, there is provided a method. The method comprises: receiving, at a second terminal device and from a first terminal device, a first session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; generating a second SDP message responsive to the first SDP message; and transmitting the second SDP message to the first terminal device via one or more network devices.

[0010] In a sixth aspect, there is provided a method. The method comprises: receiving, at a network device and from a terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; and performing an operation based on the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream.

[0011] In a seventh aspect, there is provided an apparatus comprising means for generating, at a first terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session  description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; and means for transmitting the SDP message to a second terminal device via one or more network devices.

[0012] In an eighth aspect, there is provided an apparatus comprising means for receiving, at a second terminal device and from a first terminal device, a first session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; means for generating a second SDP message responsive to the first SDP message; and means for transmitting the second SDP message to the first terminal device via one or more network devices.

[0013] In a ninth aspect, there is provided an apparatus comprising means for receiving, at a network device and from a terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; and means for performing an operation based on the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream.

[0014] In a tenth aspect, there is provided a non-transitory computer readable medium comprising program instructions for causing an apparatus to perform at least the method according to any one of the above fourth to sixth aspect.

[0015] In an eleventh aspect, there is provided a computer program comprising instructions, which, when executed by an apparatus, cause the apparatus at least to: generate, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel  streams or grouping together at least one data channel stream and at least one media stream; and transmit the SDP message to a second terminal device via one or more network devices.

[0016] In a twelfth aspect, there is provided a computer program comprising instructions, which, when executed by an apparatus, cause the apparatus at least to: receive, from a first terminal device, a first session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; generate a second SDP message responsive to the first SDP message; and transmit the second SDP message to the first terminal device via one or more network devices.

[0017] In a thirteenth aspect, there is provided a computer program comprising instructions, which, when executed by an apparatus, cause the apparatus at least to: receive, from a terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; and perform an operation based on the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream.

[0018] In a fourteenth aspect, there is provided a first terminal device. The first terminal device comprises generating circuitry configured to generate, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; and transmitting circuitry configured to transmit the SDP message to a second terminal device via one or more network devices.

[0019] In a fifteenth aspect, there is provided a second terminal device. The second  terminal device comprises receiving circuitry configured to receive, from a first terminal device, a first session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; generating circuitry configured to generate a second SDP message responsive to the first SDP message; and transmitting circuitry configured to transmit the second SDP message to the first terminal device via one or more network devices.

[0020] In a sixteenth aspect, there is provided a network device. The network device comprises receiving circuitry configured to receive, from a terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; and performing circuitry configured to perform an operation based on the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream.

[0021] It is to be understood that the summary section is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the following description.BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Some example embodiments will now be described with reference to the accompanying drawings, in which:

[0023] Fig. 1 illustrates an example communication network in which embodiments of the present disclosure may be implemented;

[0024] Fig. 2 illustrates a flowchart illustrating a process for multiple data channel streams and media streams synchronization within an SDP according to some embodiments of the present disclosure;

[0025] Figs. 3A, 3B, 3C, 3D and 3E are combined to illustrate a process in which some embodiments of the present disclosure may be implemented;

[0026] Fig. 4 illustrates a flowchart of a method implemented at a terminal device according to some embodiments of the present disclosure;

[0027] Fig. 5 illustrates a flowchart of a method implemented at a terminal device according to some other embodiments of the present disclosure;

[0028] Fig. 6 illustrates a flowchart of a method implemented at a network device according to some embodiments of the present disclosure;

[0029] Fig. 7 illustrates a simplified block diagram of an apparatus that is suitable for implementing embodiments of the present disclosure; and

[0030] Fig. 8 illustrates a block diagram of an example computer readable medium in accordance with some embodiments of the present disclosure.

[0031] Throughout the drawings, the same or similar reference numerals represent the same or similar element.DETAILED DESCRIPTION

[0032] Principle of the present disclosure will now be described with reference to some example embodiments. It is to be understood that these embodiments are described only for the purpose of illustration and help those skilled in the art to understand and implement the present disclosure, without suggesting any limitation as to the scope of the disclosure. The disclosure described herein can be implemented in various manners other than the ones described below.

[0033] In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skills in the art to which this disclosure belongs.

[0034] References in the present disclosure to “one embodiment, ” “an embodiment, ” “an example embodiment, ” and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is  within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.

[0035] It shall be understood that although the terms “first” and “second” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.

[0036] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” , “comprising” , “has” , “having” , “includes” and / or “including” , when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof. As used herein, “at least one of the following: <a list of two or more elements>” and “at least one of <a list of two or more elements>” and similar wording, where the list of two or more elements are joined by “and” or “or” , mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements.

[0037] As used in this application, the term “circuitry” may refer to one or more or all of the following:

[0038] (a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry) and

[0039] (b) combinations of hardware circuits and software, such as (as applicable) :

[0040] (i) a combination of analog and / or digital hardware circuit (s) with software / firmware and

[0041] (ii) any portions of hardware processor (s) with software (including digital signal processor (s) ) , software, and memory (ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions) and

[0042] (c) hardware circuit (s) and or processor (s) , such as a microprocessor (s) or a portion of a microprocessor (s) , that requires software (e.g., firmware) for operation, but the software  may not be present when it is not needed for operation.

[0043] This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device.

[0044] As used herein, the term “communication network” refers to a network following any suitable communication standards, such as Long Term Evolution (LTE) , LTE-Advanced (LTE-A) , Wideband Code Division Multiple Access (WCDMA) , High-Speed Packet Access (HSPA) , Narrow Band Internet of Things (NB-IoT) and so on. Furthermore, the communications between a terminal device and a network device in the communication network may be performed according to any suitable generation communication protocols, including, but not limited to, the first generation (1G) , the second generation (2G) , 2.5G, 2.75G, the third generation (3G) , the fourth generation (4G) , 4.5G, the future fifth generation (5G) communication protocols, and / or any other protocols either currently known or to be developed in the future. Embodiments of the present disclosure may be applied in various communication systems. Given the rapid development in communications, there will of course also be future type communication technologies and systems with which the present disclosure may be embodied. It should not be seen as limiting the scope of the present disclosure to only the aforementioned system.

[0045] As used herein, the term “network device” refers to a node in a communication network via which a terminal device accesses the network and receives services therefrom. The network device may refer to a base station (BS) or an access point (AP) , for example, a node B (NodeB or NB) , an evolved NodeB (eNodeB or eNB) , a NR NB (also referred to as a gNB) , a Remote Radio Unit (RRU) , a radio header (RH) , a remote radio head (RRH) , a relay, a low power node such as a femto, a pico, and so forth, depending on the applied terminology and technology.

[0046] The term “terminal device” refers to any end device that may be capable of wireless communication. By way of example rather than limitation, a terminal device may also be  referred to as a communication device, user equipment (UE) , a Subscriber Station (SS) , a Portable Subscriber Station, a Mobile Station (MS) , or an Access Terminal (AT) . The terminal device may include, but not limited to, a mobile phone, a cellular phone, a smart phone, voice over IP (VoIP) phones, wireless local loop phones, a tablet, a wearable terminal device, a personal digital assistant (PDA) , portable computers, desktop computer, image capture terminal devices such as digital cameras, gaming terminal devices, music storage and playback appliances, vehicle-mounted wireless terminal devices, wireless endpoints, mobile stations, laptop-embedded equipment (LEE) , laptop-mounted equipment (LME) , USB dongles, smart devices, wireless customer-premises equipment (CPE) , an Internet of Things (loT) device, a watch or other wearable, a head-mounted display (HMD) , a vehicle, a drone, a medical device and applications (e.g., remote surgery) , an industrial device and applications (e.g., a robot and / or other wireless devices operating in an industrial and / or an automated processing chain contexts) , a consumer electronics device, a device operating on commercial and / or industrial wireless networks, and the like. In the following description, the terms “terminal device” , “communication device” , “terminal” , “user equipment” and “UE” may be used interchangeably.

[0047] The IMS Data Channel solution, defined in 3GPP TS 26.114 and GSMA NG. 134, requires the establishment of a Bootstrap Data Channel first to provide a list of data channel applications that can be used in the IMS session between DCMTSI clients or between a DCMTSI client and a DCSF. The DCSF is defined in TS 23.228 AC. 2.2.1. In TS 23.228 AC. 2.2.1, a network function for data channel management signalling, Data Channel Signalling Function (DCSF) , is specified. The DCMTSI client is defined in TS 26.114, for example, in TS 26.114 version 16.6.1 Release 16, it is defined as below: DCMTSI client: a data channel capable MTSI client supporting data channel media as defined in clause 6.2.10. Depending on the user’s action, one or more data channel applications may be invoked with a bearer path established with DCMF through another round of SDP negotiation. The bearer path is a connection between the UE and the DCMF to transfer data generated by a data channel (DC) application. The SDP negotiation refers to SDP offer / answer exchanges (see RFC 3264) . During a process of the SDP negotiation, a UE may send an SDP offer, and may further receive an SDP answer corresponding to the SDP offer, and the details of the process may also refer to Figs. 3A to 3E. The DCMF may provide the media resource management and forwarding of data channel media traffic. The payload of a data channel application is transmitted using UDP / DTLS / SCTP, that is, the data generated by data channel  application may be transmitted using UDP / DTLS / SCTP, between the UE and the DCMF, for example, from a UE to a DCMF, or from a DCMF to another UE. Depending on IMS service / application’s requirement and implementation, a single data channel application may use either a single media description (m= line) or multiple media descriptions in an SDP to achieve its function. The SDP may be referred to as SDP message in some embodiments, and may be an SDP offer or an SDP answer. Due to the maximum number of m= lines supported by a UE and an IMS network components is few, multiple data channel applications may also share a single media description while using different SCTP streams (each with a corresponding "a=dcmap" SDP attribute defined in RFC8864 and SCTP stream IDs that are unique within that media description) to transmit their respective application data.

[0048] In an IMS session, SCTP stream (s) and / or media stream (s) may be transmitted and may be presented to a user. The SCTP stream herein may be referred to as data channel media stream, or data channel stream, or data channel SCTP stream. The media stream herein may refer to a traditional media stream (e.g. voice and / or video stream (s) ) , and may be referred to as SDP media stream in some embodiments. In some examples, the media stream herein may be transmitted by RTP, and may be referred to as RTP-based media stream or RTP-based traditional media stream. The two types of streams, i.e. the SCTP stream and the media stream may be described in an SDP, for example, by media description (s) in an SDP. In addition, the two types of streams above are based on different protocols, for example, the SCTP stream is based on SCTP protocol, and the media stream (e.g. the SDP media stream) is based on RTP protocol.

[0049] To deliver certain complex IMS service / application to users, it may be mandatory to coordinate and synchronize between different data channel media streams at SCTP stream level, or between RTP-based traditional media streams (e.g., voice, video) and data channel media streams at SCTP stream level, in order to guarantee the user experience. SDP does not provide any means to express a particular relationship between two or more of media streams. The media-level a=label attribute defined in RFC4574 can only uniquely identify a media stream. So RFC5888 defines group attribute (a=group) at SDP session-level along with media stream identification attribute (a=mid) at SDP media-level to express a particular relationship between two or more of the media descriptions in an SDP. RFC5888 can work well when WebRTC data channel was introduced years ago because one WebRTC data channel application will exclusively use one m=application media stream in the SDP. However, with introducing of IMS data channel, 3GPP TS 26.114 allows multiple data  channel applications maps to a single m=application media stream and with each application uniquely identified by SCTP stream ID assisted by 'label' Parameter. Thus, how to express a particular relationship between media stream and data channel SCTP stream, or between different data channel SCTP streams, becomes a problem which needs to be solved.

[0050] As mentioned above, some solutions only address the grouping needs at SDP media stream level. In order to provide a mechanism that expresses a particular relationship between SDP media stream (s) and data channel SCTP stream (s) , or between different data channel SCTP streams, in the embodiments of the present disclosure, two solutions based on RFC5888 and RFC8864 are proposed.

[0051] In view of the aforementioned discussions and analysis, embodiments of the present disclosure provide a solution for a session description protocol (SDP) message associated with data channel streams, for example, a solution for multiple data channel streams and media streams synchronization within an SDP. For instance, the embodiments of the present disclosure can express a particular relationship between media stream and data channel SCTP stream, or between different data channel SCTP streams.

[0052] Principle and embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. Reference is first made to Fig. 1, which illustrates an example communication system (or referred to as communication network) 100 in which embodiments of the present disclosure may be implemented. The system 100 includes a plurality of terminal devices, such as a terminal device 110 and a terminal device 120. The system 100 may further include one or more network devices, in some examples, the one or more network devices may comprise network device (s) in an Internet protocol multimedia system (IMS) 150. A network device 130 is shown as an example of a network device in the IMS 150. In some examples, the network device 130 may be an IMS application server (AS) . In some embodiments, the terminal device 110 and the terminal device 120 may communication with each other via the one or more network devices, for example, the terminal device 110 may transmit a SDP message to the terminal device 120, and vice versa. In some examples, the one or more network devices may process the SDP messages. In some examples, the one or more network devices may further comprise one or more access network devices, as shown in Fig. 1, an access network device 140 is shown as an example. In some examples, the terminal devices 110, 120 may communicate with the network device 130 via the access network device 140.

[0053] It is to be understood that the number of network devices and terminal devices is only for the purpose of illustration without suggesting any limitations. The system 100 may include any suitable number of network devices and terminal devices adapted for implementing embodiments of the present disclosure.

[0054] Communications in the communication system 100 may be implemented according to any proper communication protocol (s) , comprising, but not limited to, cellular communication protocols of the first generation (1G) , the second generation (2G) , the third generation (3G) , the fourth generation (4G) and the fifth generation (5G) and on the like, wireless local network communication protocols such as Institute for Electrical and Electronics Engineers (IEEE) 802.11 and the like, and / or any other protocols currently known or to be developed in the future. Moreover, the communication may utilize any proper wireless communication technology, comprising but not limited to: Code Division Multiple Access (CDMA) , Frequency Division Multiple Access (FDMA) , Time Division Multiple Access (TDMA) , Frequency Division Duplex (FDD) , Time Division Duplex (TDD) , Multiple-Input Multiple-Output (MIMO) , Orthogonal Frequency Division Multiple (OFDM) , Discrete Fourier Transform spread OFDM (DFT-s-OFDM) and / or any other technologies currently known or to be developed in the future.

[0055] Reference is now made to Fig. 2, which shows a process 200 for multiple data channel streams and media streams synchronization within an SDP according to some embodiments of the present disclosure. In some examples, the data channel stream may be a data channel stream control transmission protocol (SCTP) stream. The process 200 may involve a terminal device 210 (or referred to as a first terminal device 210) , a terminal device 220 (or referred to as a second terminal device 220) , and one or more network devices. One of the one or more network devices may be a network device 230. In some examples, the first terminal device 210 may be an example of the terminal device 110 in Fig. 1, and the second terminal device 220 may be an example of the terminal device 120 in Fig. 1.

[0056] In the process 200, the first terminal device 210 may generate (201) , a session description protocol (SDP) message 202 (may be referred to as a first SDP message 202) comprising a media-level attribute (may be referred to as a first media-level attribute) or an option of a further media-level attribute (may be referred to as a second media-level attribute) . The first media-level attribute or the option of the second media-level attribute is used for identifying a data channel stream within a session description, and the SDP message 202 further comprises a session-level attribute for grouping together different data channel  streams or grouping together at least one data channel stream and at least one media stream. In some examples, the session-level attribute is “a=group” . In some embodiments, the session-level attribute has a semantics-extension for indicating that the session-level attribute is used for grouping together the different data channel streams or grouping together the at least one data channel stream and the at least one media stream. In some embodiments, a “Name” of the first media-level attribute is “dcid” , for example, the first media-level attribute is “a=dcid” . Additionally or alternatively, a “Value” of the first media-level attribute is “dcid-value” which is set to a dcmap-stream-id, additionally or alternatively, a “Usage Level” of the first media-level attribute is “media” , additionally or alternatively, a “Charset Dependent” of the first media-level attribute is “No” , additionally or alternatively, the first media-level attribute has an option for indicating a “mid” identification associated with the “dcid-value” of the first media-level attribute. In some embodiments, the option of the second media-level attribute indicates an identification-tag of the data channel stream. In some examples, the second media-level attribute is “a=dcmap” .

[0057] The first terminal device 210 may transmit the SDP message 202 to a second terminal device 220 via one or more network devices. As an example, a network device 230 among the one or more network devices is shown in Fig. 2. In some embodiments, the first terminal device 210 may transmit (203) the SDP message 202 to the network device 230, and the network device 230 may receive (205) the SDP message 202 from the first terminal device 210. In some embodiments, the network device 230 may transmit (207) the SDP message 202 to the second terminal device 220, and the second terminal device 220 may receive (209) the SDP message 202. It is noted that, as mentioned above, there may be one or more network devices between the first terminal device 210 and the second terminal device 220, therefore, in some examples, there may be one or more network devices between the first terminal device 210 and the network device 230, additionally or alternatively, there may be one or more network devices between the second terminal device 220 and the network device 230. In other words, the SDP message 202 may be not directly transmitted from the first terminal device 210 to the network device 230, for example, the first terminal device 210 may transmit the SDP message 202 to the network device 230 via one or more network devices, and the one or more network devices may be different. Similarly, the SDP message 202 may be not directly transmitted from the network device 230 to the second terminal device 220, but transmitted via one or more network devices.

[0058] The second terminal device 220 may generate (211) a second SDP message 204  responsive to the first SDP message 202, and then the second terminal device 220 may transmit the second SDP message 204 to the first terminal device 210 via one or more network devices. As shown in Fig. 2, the second terminal device 220 may transmit (213) the second SDP message 204 to the network device 230. The network device 230 receives (215) the second SDP message 204, and transmits (217) the second SDP message 204 to the first terminal device 210, then on the first terminal device 210 side, the first terminal device 210 may receive (219) the second SDP message 204 from the second terminal device. It should be noted that, the SDP message 204 may be not directly transmitted from the second terminal device 220 to the network device 230, similarly, the SDP message 204 may be not directly transmitted from the network device 230 to the first terminal device 210. In other words, the first terminal device 210 may receive, from the second terminal device 220, the second SDP message 204 responsive to the first SDP message 202 via one or more network devices.

[0059] In some embodiments, the second SDP message 204 may comprise the first media-level attribute or the option of the second media-level attribute and may comprise the session-level attribute.

[0060] In some other embodiments, during the process of generating the second SDP message 204, in some embodiments, the second terminal device 220 may, based on determining that the second terminal device 220 does not support the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream, generating the second SDP message 204 without the session-level attribute. In some other embodiments, the second terminal device 220 may, based on determining that the second terminal device 220 supports but fails to perform the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream, generating the second SDP message 204 without the session-level attribute. In some embodiments, the second terminal device 220 may, based on determining that the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream indicated in the first SDP message 202 is invalid, generating the second SDP message 204 without the session-level attribute. In such embodiments, the second SDP message 204 may comprise the second SDP message which does not comprise the session-level attribute.

[0061] In some embodiments, whether the first media-level attribute is valid or not may be determined based on at least one condition, that is, in the event that at least one condition is met, the first media-level attribute is valid, and in the event that at least one condition is not  met, the first media-level attribute is invalid. In some embodiments, the at least one condition for determining validity of the first media-level attribute may comprise: the first media-level attribute is used together with “a=dcmap” attribute and a dcmap-stream-id of the first media-level attribute matches a dcmap-stream-id of the “a=dcmap” attribute; or an identification tag used by the first media-level attribute is unique within the session description; or an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “mid” value in the SDP message is the same as a “mid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream; or the combination thereof.

[0062] In some other embodiments, whether the option of the second media-level attribute is valid or not may be determined based on at least one condition, that is, in the event that at least one condition is met, the option of the second media-level attribute is valid, and in the event that at least one condition is not met, the option of the second media-level attribute is invalid. In some embodiments, the at least one condition for determining validity of the option of the second media-level attribute may comprise: an identification tag used by the option of the second media-level attribute is unique within the session description; or an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “dcid” value in the SDP message is the same as a “dcid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream; or the combination thereof.

[0063] In some further embodiments, whether the session-level attribute is valid or not may be determined based on at least one condition, that is, in the event that at least one condition is met, the session-level attribute is valid, and in the event that at least one condition is not met, the session-level attribute is invalid. In some embodiments, the at least one condition for determining validity of session-level attribute may comprise: the session-level attribute comprises an identification-tag matches an identification-tag in at least one of “a=mid” , the first media-level attribute of a data channel stream (or referred to as SCTP stream in some embodiments) , or the option of the second media-level attribute of a data channel stream; or the session-level attribute does not comprise unrecognized semantics; or in the event that the SDP message is an SDP offer, a value of the session-level attribute in an SDP answer is the same as a value of the session-level attribute in the SDP offer or comprises a subset of identification-tags in the SDP offer; or the combination thereof.

[0064] On the second terminal device 220 side, the second terminal device 220 may, based  on determining that the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream indicated in the first SDP message 202 is valid, synchronize playout of the different data channel streams or playout of the at least one data channel stream and the at least one media.

[0065] On the network device side, as mentioned above, one or more network devices may receive, from a terminal device (such as the first terminal device 210 or the second terminal device 220) , a SDP message (such as the first SDP message 202 or the second SDP message 204) . In some embodiments, the network device (e.g. the network device 230) among the one or more network devices having received the SDP message may perform (207a) an operation based on the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream. In some embodiments, the network device 230 may be a policy and charging rules function (PCRF) or an anycast border gateway (A-BGW) . In such embodiments, the operation may comprise reserving at least one media resource associated with the grouping. In some other embodiments, the network device 230 may be an Internet protocol multimedia system application server (IMS AS) . In such embodiments, the operation may comprise selecting at least one of a data channel signalling function (DCSF) or a data channel media function (DCMF) , and / or determining at least one service to be invoked. The examples of performing the operation above may further refer to steps 305 and 309, or steps 315 and 323.

[0066] In some embodiments, the SDP message is an SDP offer or an SDP answer. For example, the first SDP message 202 may be an SDP offer and the second SDP message 204 may be an SDP answer.

[0067] As mentioned above, in some embodiments of the present disclosure, two solutions based on RFC5888 and RFC8864 are proposed. These two solutions (hereafter called Solution A and B) may be alternative. The first solution (solution A) is to create a new media-level attribute (or referred to as SDP media-level attribute) “a=dcid” , which is used for identifying a data channel SCTP stream within a session description. Then a new semantics-extension “DC” is defined for a=group attribute which is defined in RFC5888. The new semantics-extension “DC” may be used for grouping together different data channel SCTP streams, or data channel SCTP streams and other media streams. The second solution (solution B) is to create define a new option “dcid” for a=dcmap attribute defined in RFC8864, which is used for identifying a data channel SCTP stream within a session description. Then a new semantics-extension “DC” may be defined for a=group attribute as same as the first  solution. To sum up, in some embodiments, the new “dcid” attribute / parameter in the SDP message, and a new semantics-extension “DC” of “a=group” session-level attribute extended in the embodiments of the present disclosure along with “a=mid” media level attribute are utilized to express a particular relationship between media stream (s) and data channel SCTP stream (s) , or between different data channel SCTP streams. In this way, the relationship of relative media streams and SCTP streams can be delivered via the SDP message between participates of one IMS DC session at the application layer. The details of the two solutions A and B will be further described.

[0068] Solution A

[0069] In solution A, with reference to Table 1, a media-level attribute “a=dcid” is defined to identifying a data channel SCTP stream within a session description.

[0070] Formal syntax is as below:

[0071] An example of the media-level attribute is as below: a= dcid: 38754 mid=1

[0072] For the media-level attribute “a=dcid” (this attribute may be referred to as a new attribute in this solution A) , the new attribute must be used together with “a=dcmap” attribute, the dcmap-stream-id of “a=dcid” must match the dcmap-stream-id of one “a=dcmap” attribute. Otherwise, the new attribute shall be considered as invalid and ignored. The identification-tag used by “a=dcid” attribute and used by “a=mid” attribute must be unique within an SDP session description. The duplicated identification-tag shall be considered as invalid and ignored. The “mid” value in the SDP offer must be identical to the “mid” value in the SDP answer for a specific data-channel SCTP stream and must be maintained  throughout the lifetime of the corresponding data-channel SCTP stream.

[0073] A sample SDP Offer with Solution A with new SDP attribute / parameter is as below.

[0074] Solution B

[0075] In solution B, an option “dcid” for a=dcmap attribute is defined to identifying a data channel SCTP stream within a session description.

[0076] Formal syntax is as below:

[0077] An example of the a=dcmap attribute with the proposed dcmap-opt is as below: a=dcmap: 38754 max-time=150; label="low latency" ; dcid=1

[0078] Usage of dcid-opt (i.e. the option “dcid” for a=dcmap attribute) will be described below. Specifically, the identification-tag used by “dcid” attribute and used by “a=mid” attribute must be unique within an SDP session description. The duplicated identification-tag shall be considered as invalid and ignored. In addition, the “dcid” value in the SDP answer must be identical to the “dcid” value in the SDP offer for a specific data-channel SCTP stream and must be maintained throughout the lifetime of the corresponding data-channel SCTP stream.

[0079] A sample SDP Offer with Solution B with new SDP attribute / parameter is as below.

[0080] For the solution A or the solution B above, additionally, new semantics that Data Channel (DC) of session-level attribute “a=group” is defined for grouping together media streams and / or data channel SCTP streams, which are identified by identification-tag carried in “a=mid” and “a=dcid”  /  “dcid-opt” .

[0081] Formal syntax is as below:

[0082] An example is as below: a=group: DC 1 2

[0083] In addition, the “a=group” attribute contains identification-tag that doesn’t match any identification-tag carried in “a=mid” and “a=dcid”  /  “dcid-opt” shall be considered as  invalid and ignored. The “a=group” attribute contains unrecognized semantics shall be considered as invalid and ignored. The “a=group” value in the SDP answer must be identical to the “a=group” value in the SDP offer or contains a subset of received identification-tags in case the answerer can only support partial coordination and synchronization.

[0084] In some embodiments, when an answerer doesn’t support the grouping receives an SDP offer with grouping information, it must return an SDP answer without the "group" line. In some embodiments, when an answerer supports the grouping receives an SDP offer with valid grouping information but cannot accomplish grouping (e.g., due to capability or resource limitations) , it must return an SDP answer without the "group" line. In some embodiments, when an answerer supports the grouping receives an SDP offer with invalid grouping information, it must return an SDP answer without the "group" line. In some embodiments, when an answerer supporting the grouping receives an SDP offer with valid grouping information, the application shall synchronize the playout of the relevant media streams and data channel SCTP streams then present them to the user. The mechanism used for synchronization depends on IMS service / application’s requirement and implementation. Utilizing timing relationship may be one option, but the details will not be discussed herein.

[0085] It should be noted that the embodiments of the present disclosure may also be compatible for the network component that doesn’t support RFC5888 grouping framework. It won’t impact SDP offer / answer negotiation because the unrecognized attribute / parameter in SDP will be simply ignored per RFC4566 Session Description Protocol.

[0086] Figs. 3A, 3B, 3C, 3D and 3E are combined to illustrate a process 300 in which some embodiments of the present disclosure may be implemented. Each of Fig. 3A, 3B, 3C, 3D and 3E comprise part of steps of the process 300, in which Fig. 3B is a continuation of Fig. 3A, Fig. 3C is a continuation of Fig. 3B, Fig. 3D is a continuation of Fig. 3C, and Fig. 3E is a continuation of Fig. 3D. In the process 300, a UE-1 302, a P-CSCF-1 304, a PCRF-1 / A-BGW-1 306, a DCSF-1 / DCMF-1 308, an IMS-AS-1 310, an IMS-AS-2 312, a DCSF-2 / DCMF-2 314, a PCRF-2 / A-BGW-2 316, a P-CSCF-2 318, and a UE-2 320. The UE-1 302 may be a caller device, and the UE-2 320 may be a callee device. The process 300 below demonstrates the solution of some embodiments using IMS DC P2P (person to person) scenario as an example. To simplify the presentation, IBCF / I-BGW located between originating network and terminating network are not shown in the call flow but it acts the same as P-CSCF / A-BGW located between UE and network for border control. Separate  network elements with similar functions are combined as one box (e.g., PCRF / BGW for media plane control) . And network elements (e.g., I-CSCF / S-CSCF) that not impacted by the solution of the present disclosure are also omitted from the process 300. The process 300 is same for the solution A and the solution B, but the content of the SDP message is different as has been described above.

[0087] At 301, the UE-1 302 may transmit, to the P-CSCF-1 304, an INVITE comprising an SDP message (i.e. an SDP offer) , and the SDP message comprises a group / dcid attribute  / parameter generated by the UE-1 302 per application needs. At 303a, the P-CSCF-1 304 transmit, to the PCRF-1 / A-BGW-1 306, an AAR message with the group / dicd attribute parameter retrieved from the SDP offer. At 305, the PCRF-1 / A-BGW-1 306 may reserve media resources per group / dcid attribute / parameter. At 303b, the PCRF-1 / A-BGW-1 306 may transmit, to the P-CSCF-1 304, an AAA message with a successful response. At 307, the P-CSCF-1 304 may transmit, to the IMS-AS-1 310, an INVITE comprising the SDP offer, and the SDP offer comprises the group / dcid attribute / parameter. At 309, the IMS-AS-1 310 may utilize group / dcid to select DCSF / DCMF (e.g. the DCSF-1 / DCMF-1 308) and to decide applicable supplementary services (e.g., call barring / forwarding) .

[0088] At 311, the IMS-AS-1 310 may communicate with the DCSF-1 / DCMF-1 308, for example, the IMS-AS-1 310 may transmit, to the DCSF-1 / DCMF-1 308, Nimsas_SessionEventControl_Nofity, and the DCSF-1 / DCMF-1 308 may transmit, to the IMS-AS-1 310, Notify_Response. At 313, the IMS-AS-1 310 may transmit, to the IMS-AS-2 312, an INVITE comprising the SDP offer, and the SDP offer comprises the group / dcid attribute / parameter.

[0089] At 315, the IMS-AS-2 312 may utilize the group / dcid attribute / parameter to select DCSF / DCMF (e.g. the DCSF-2 / DCMF-2 314) and to decide applicable supplementary services (e.g., call barring / forwarding) . At 317, the IMS-AS-2 312 may communicate with the DCSF-2 / DCMF-2 314, for example, the IMS-AS-2 312 may transmit, to the DCSF-2 / DCMF-2 314, Nimsas_SessionEventControl_Notify, and the DCSF-2 / DCMF-2 314 may transmit, to the IMS-AS-2 312, Notify_Response. At 319, the IMS-AS-2 312 may transmit, to the P-CSCF-2 318, an INVITE comprising the SDP offer, and the SDP offer comprises the group / dcid attribute / parameter. At 321a, the P-CSCF-2 318 may transmit, to the PCRF-2 / A-BGW-2 316, an AAR message with group / dicd attribute parameter retrieved from the SDP offer. At 323, the PCRF-2 / A-BGW-2 316 may reserve media resources per group / dcid attribute / parameter. At 321b, the PCRF-2 / A-BGW-2 316 may transmit, to the P-CSCF-2  318, an AAA message with a successful response. At 325, the P-CSCF-2 318 may transmit, to the UE-2 320, an INVITE comprising the SDP offer, and the SDP offer comprises the group / dcid attribute / parameter.

[0090] At 327, the UE-2 320 may handle (e.g. accept / reject / synchronize rendering) media / SCTP streams identified by the group / dcid attribute / parameter as one group and generated an SDP message (i.e., an SDP answer) . At 329, the UE-2 320 may transmit, to the P-CSCF-2 318, a 18x message comprising the SDP answer. The SDP answer comprises the group / dcid attribute / parameter. At 331a, the P-CSCF-2 318 may transmit, to the PCRF-2 / A-BGW-2 316, an AAR message with the group / dicd attribute parameter retrieved from the SDP answer. At 333, the PCRF-2 / A-BGW-2 316 may update media resources reservation per SDP answer.

[0091] At 331b, the PCRF-2 / A-BGW-2 316 may transmit, to the P-CSCF-2 318, an AAA message with a successful response.

[0092] At 335, the P-CSCF-2 318 may transmit, to the IMS-AS-2 312, an 18x message comprising the SDP answer. The SDP answer comprises the group / dcid attribute / parameter. At 337, the IMS-AS-2 312 may communicate with the DCSF-2 / DCMF-2 314, for example, the IMS-AS-2 312 may transmit, to the DCSF-2 / DCMF-2 314, Nimsas_SessionEventControl_Notify, and the DCSF-2 / DCMF-2 314 may transmit, to the IMS-AS-2 312, Notify_Response.

[0093] At 339, the IMS-AS-2 312 may transmit, to the IMS-AS-1 310, an 18x message comprising the SDP answer. The SDP answer comprises the group / dcid attribute / parameter. At 341, the IMS-AS-1 310 may communicate with the DCSF-1 / DCMF-1 308, for example, the IMS-AS-1 310 may transmit, to the DCSF-1 / DCMF-1 308, Nimsas_SessionEventControl_Nofity, and the DCSF-1 / DCMF-1 308 may transmit, to the IMS-AS-1 310, Notify_Response. At 343, the IMS-AS-1 310 may transmit, to the P-CSCF-1 304, an 18x message comprising the SDP answer. The SDP answer comprises the group / dcid attribute / parameter. At 345a, the P-CSCF-1 304 may transmit, to the PCRF-1 / A-BGW-1 306, an AAR message with the group / dicd attribute parameter retrieved from the SDP answer. At 347, the PCRF-1 / A-BGW-1 306 may update media resources reservation per SDP answer. At 345b, the PCRF-1 / A-BGW-1 306 may transmit, to the P-CSCF-1 304, an AAA message with a successful response.

[0094] At 349, the P-CSCF-1 304 may transmit, to the UE-1 302, an 18x message  comprising the SDP answer. The SDP answer comprises the group / dcid attribute / parameter.

[0095] At 351, the UE-1 302 and the UE-2 320 exchanges SIP 200 OK response, SIP ACK request and optional SIP PRACK request to complete SIP INVITE dialog establishment following IETF RFC 3261. At 353, an IMS DC session is established between the UE-1 302 and the UE-2 320.

[0096] Fig. 4 illustrates a flowchart of a method 400 implemented at a terminal device according to some embodiments of the present disclosure. The terminal device for implementing the method 400 may be the first terminal device.

[0097] At block 410, the first terminal device may generate, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute. The first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream. At block 420, the first terminal device may transmit the SDP message to a second terminal device via one or more network devices.

[0098] In some embodiments, the session-level attribute may have a semantics-extension for indicating that the session-level attribute is used for grouping together the different data channel streams or grouping together the at least one data channel stream and the at least one media stream.

[0099] In some embodiments, a “Name” of the first media-level attribute is “dcid” , additionally or alternatively, a “Value” of the first media-level attribute is “dcid-value” which is set to a dcmap-stream-id, additionally or alternatively, a “Usage Level” of the first media-level attribute is “media” , additionally or alternatively, a “Charset Dependent” of the first media-level attribute is “No” , additionally or alternatively, the first media-level attribute has an option for indicating a “mid” identification associated with the “dcid-value” of the first media-level attribute.

[0100] In some embodiments, in the event that at least one condition is met, the first media-level attribute is valid, and in the event that at least one condition is not met, the first media-level attribute is invalid. In some embodiments, the at least one condition comprises: the first media-level attribute is used together with “a=dcmap” attribute and a dcmap-stream-id of the first media-level attribute matches a dcmap-stream-id of the “a=dcmap” attribute; or  an identification tag used by the first media-level attribute is unique within the session description; or an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “mid” value in the SDP message is the same as a “mid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream; or the combination thereof.

[0101] In some embodiments, the option of the second media-level attribute indicates an identification-tag of the data channel stream.

[0102] In some embodiments, in the event that at least one condition is met, the option of the second media-level attribute is valid, and in the event that at least one condition is not met, the option of the second media-level attribute is invalid. In some embodiments, the at least one condition comprises: an identification tag used by the option of the second media-level attribute is unique within the session description; or an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “dcid” value in the SDP message is the same as a “dcid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream; or the combination thereof.

[0103] In some embodiments, in the event that at least one condition is met, the session-level attribute is valid, and in the event that at least one condition is not met, the session-level attribute is invalid. In some embodiments, the at least one condition comprises: the session-level attribute comprises an identification-tag matches an identification-tag in at least one of “a=mid” , the first media-level attribute of a data channel stream, or the option of the second media-level attribute of a data channel stream; or the session-level attribute does not comprise unrecognized semantics; or in the event that the SDP message is an SDP offer, a value of the session-level attribute in an SDP answer is the same as a value of the session-level attribute in the SDP offer or comprises a subset of identification-tags in the SDP offer; or the combination thereof.

[0104] In some embodiments, the SDP message is a first SDP message, and the first terminal device may receive, from the second terminal device, a second SDP message responsive to the first SDP message via the one or more network devices.

[0105] In some embodiments, the second SDP message comprises the first media-level attribute or the option of the second media-level attribute and comprises the session-level attribute. In some other embodiments, the second SDP message does not comprise the  session-level attribute.

[0106] In some embodiments, the first SDP message is an SDP offer and the second SDP message is an SDP answer.

[0107] In some embodiments, the first media-level attribute is “a=dcid” , additionally or alternatively, the second media-level attribute is “a=dcmap” , additionally or alternatively, the session-level attribute is “a=group” , additionally or alternatively, the data channel stream is a data channel stream control transmission protocol (SCTP) stream.

[0108] Fig. 5 illustrates a flowchart of a method 500 implemented at a terminal device according to some other embodiments of the present disclosure. The terminal device for implementing the method 500 may be the second terminal device.

[0109] At block 510, the second terminal device may receive, from a first terminal device, a first session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream. At block 520, the second terminal device may generate a second SDP message responsive to the first SDP message. At block 530, the second terminal device may transmit the second SDP message to the first terminal device via one or more network devices.

[0110] In some embodiments, in a process of generating the second SDP message, the second terminal device may, based on determining that the second terminal device does not support the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream, generating the second SDP message without the session-level attribute.

[0111] In some embodiments, in a process of generating the second SDP message, the second terminal device may, based on determining that the second terminal device supports but fails to perform the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream, generating the second SDP message without the session-level attribute.

[0112] In some embodiments, in a process of generating the second SDP message, the second terminal device may, based on determining that the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one  media stream indicated in the first SDP message is invalid, generating the second SDP message without the session-level attribute.

[0113] In some embodiments, the second terminal device may, based on determining that the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream indicated in the first SDP message is valid, synchronize playout of the different data channel streams or playout of the at least one data channel stream and the at least one media.

[0114] In some embodiments, the session-level attribute has a semantics-extension for indicating that the session-level attribute is used for grouping together the different data channel streams or grouping together the at least one data channel stream and the at least one media stream.

[0115] In some embodiments, a “Name” of the first media-level attribute is “dcid” , additionally or alternatively, a “Value” of the first media-level attribute is “dcid-value” which is set to a dcmap-stream-id, additionally or alternatively, a “Usage Level” of the first media-level attribute is “media” , additionally or alternatively, a “Charset Dependent” of the first media-level attribute is “No” , additionally or alternatively, the first media-level attribute has an option for indicating a “mid” identification associated with the “dcid-value” of the first media-level attribute.

[0116] In some embodiments, in the event that at least one condition is met, the first media-level attribute is valid, and in the event that at least one condition is not met, the first media-level attribute is invalid. In some embodiments, the at least one condition comprises: the first media-level attribute is used together with “a=dcmap” attribute and a dcmap-stream-id of the first media-level attribute matches a dcmap-stream-id of the “a=dcmap” attribute; or an identification tag used by the first media-level attribute is unique within the session description; or an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “mid” value in the SDP message is the same as a “mid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream; or the combination thereof.

[0117] In some embodiments, the option of the second media-level attribute indicates an identification-tag of the data channel stream.

[0118] In some embodiments, in the event that at least one condition is met, the option of the second media-level attribute is valid, and in the event that at least one condition is not  met, the option of the second media-level attribute is invalid. In some embodiments, the at least one condition comprises: an identification tag used by the option of the second media-level attribute is unique within the session description; or an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “dcid” value in the SDP message is the same as a “dcid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream; or the combination thereof.

[0119] In some embodiments, in the event that at least one condition is met, the session-level attribute is valid, and in the event that at least one condition is not met, the session-level attribute is invalid. In some embodiments, the at least one condition comprises: the session-level attribute comprises an identification-tag matches an identification-tag in at least one of “a=mid” , the first media-level attribute of a data channel stream, or the option of the second media-level attribute of a data channel stream; or the session-level attribute does not comprise unrecognized semantics; or in the event that the SDP message is an SDP offer, a value of the session-level attribute in an SDP answer is the same as a value of the session-level attribute in the SDP offer or comprises a subset of identification-tags in the SDP offer; or the combination thereof.

[0120] In some embodiments, the first SDP message is an SDP offer and the second SDP message is an SDP answer.

[0121] In some embodiments, the first media-level attribute is “a=dcid” , additionally or alternatively, the second media-level attribute is “a=dcmap” , additionally or alternatively, the session-level attribute is “a=group” , additionally or alternatively, the data channel stream is a data channel stream control transmission protocol (SCTP) stream.

[0122] Fig. 6 illustrates a flowchart of a method 600 implemented at a network device according to some embodiments of the present disclosure.

[0123] At block 610, the network device may receive, from a terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream. At block 620, the network device may perform an operation based on the grouping of the  different data channel streams or the grouping of the at least one data channel stream and the at least one media stream.

[0124] In some embodiments, the session-level attribute has a semantics-extension for indicating that the session-level attribute is used for grouping together the different data channel streams or grouping together the at least one data channel stream and the at least one media stream.

[0125] In some embodiments, a “Name” of the first media-level attribute is “dcid” , additionally or alternatively, a “Value” of the first media-level attribute is “dcid-value” which is set to a dcmap-stream-id, additionally or alternatively, a “Usage Level” of the first media-level attribute is “media” , additionally or alternatively, a “Charset Dependent” of the first media-level attribute is “No” , additionally or alternatively, the first media-level attribute has an option for indicating a “mid” identification associated with the “dcid-value” of the first media-level attribute.

[0126] In some embodiments, in the event that at least one condition is met, the first media-level attribute is valid, and in the event that at least one condition is not met, the first media-level attribute is invalid. In some embodiments, the at least one condition comprises: the first media-level attribute is used together with “a=dcmap” attribute and a dcmap-stream-id of the first media-level attribute matches a dcmap-stream-id of the “a=dcmap” attribute; or an identification tag used by the first media-level attribute is unique within the session description; or an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “mid” value in the SDP message is the same as a “mid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream; or the combination thereof.

[0127] In some embodiments, the option of the second media-level attribute indicates an identification-tag of the data channel stream.

[0128] In some embodiments, in the event that at least one condition is met, the option of the second media-level attribute is valid, and in the event that at least one condition is not met, the option of the second media-level attribute is invalid. In some embodiments, the at least one condition comprises: an identification tag used by the option of the second media-level attribute is unique within the session description; or an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “dcid” value in the SDP message is the same as a “dcid” value in  an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream; or the combination thereof.

[0129] In some embodiments, in the event that at least one condition is met, the session-level attribute is valid, and in the event that at least one condition is not met, the session-level attribute is invalid. In some embodiments, the at least one condition comprises: the session-level attribute comprises an identification-tag matches an identification-tag in at least one of “a=mid” , the first media-level attribute of a data channel stream, or the option of the second media-level attribute of a data channel stream; or the session-level attribute does not comprise unrecognized semantics; or in the event that the SDP message is an SDP offer, a value of the session-level attribute in an SDP answer is the same as a value of the session-level attribute in the SDP offer or comprises a subset of identification-tags in the SDP offer; or the combination thereof.

[0130] In some embodiments, the SDP message is an SDP offer or an SDP answer.

[0131] In some embodiments, the first media-level attribute is “a=dcid” , additionally or alternatively, the second media-level attribute is “a=dcmap” , additionally or alternatively, the session-level attribute is “a=group” , additionally or alternatively, the data channel stream is a data channel stream control transmission protocol (SCTP) stream.

[0132] In some embodiments, the network is a policy and charging rules function (PCRF) or an anycast border gateway (A-BGW) . The operation comprises reserving at least one media resource associated with the grouping.

[0133] In some embodiments, the network is an internet protocol multimedia system application server (IMS AS) . The operation comprises selecting at least one of a data channel signalling function (DCSF) or a data channel media function (DCMF) , or determining at least one service to be invoked.

[0134] In some embodiments, an apparatus capable of performing any of the method 400 (for example, the first terminal device) may comprise means for performing the respective steps of the method 400. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module.

[0135] In some embodiments, the apparatus comprises means for generating, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message  further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; and means for transmitting the SDP message to a second terminal device via one or more network devices.

[0136] In some embodiments, the session-level attribute has a semantics-extension for indicating that the session-level attribute is used for grouping together the different data channel streams or grouping together the at least one data channel stream and the at least one media stream.

[0137] In some embodiments, a “Name” of the first media-level attribute is “dcid” ; or a “Value” of the first media-level attribute is “dcid-value” which is set to a dcmap-stream-id;

[0138] a “Usage Level” of the first media-level attribute is “media” ; or a “Charset Dependent” of the first media-level attribute is “No” ; or the first media-level attribute has an option for indicating a “mid” identification associated with the “dcid-value” of the first media-level attribute; or the combination thereof.

[0139] In some embodiments, in the event that at least one condition is met, the first media-level attribute is valid; and in the event that at least one condition is not met, the first media-level attribute is invalid. In some embodiments, the at least one condition comprises one or more of the following conditions: the first media-level attribute is used together with “a=dcmap” attribute and a dcmap-stream-id of the first media-level attribute matches a dcmap-stream-id of the “a=dcmap” attribute; an identification tag used by the first media-level attribute is unique within the session description; an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “mid” value in the SDP message is the same as a “mid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream.

[0140] In some embodiments, the option of the second media-level attribute indicates an identification-tag of the data channel stream.

[0141] In some embodiments, in the event that at least one condition is met, the option of the second media-level attribute is valid; and in the event that at least one condition is not met, the option of the second media-level attribute is invalid. In some embodiments, the at least one condition comprises one or more of the following conditions: an identification tag used by the option of the second media-level attribute is unique within the session description; an identification tag used by a “a=mid” attribute is unique within the session description; or  in the event that the SDP message is an SDP offer, a “dcid” value in the SDP message is the same as a “dcid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream.

[0142] In some embodiments, in the event that at least one condition is met, the session-level attribute is valid; and in the event that at least one condition is not met, the session-level attribute is invalid. In some embodiments, the at least one condition comprises one or more of the following conditions: the session-level attribute comprises an identification-tag matches an identification-tag in at least one of “a=mid” , the first media-level attribute of a data channel stream, or the option of the second media-level attribute of a data channel stream; the session-level attribute does not comprise unrecognized semantics; or in the event that the SDP message is an SDP offer, a value of the session-level attribute in an SDP answer is the same as a value of the session-level attribute in the SDP offer or comprises a subset of identification-tags in the SDP offer.

[0143] In some embodiments, the SDP message is a first SDP message, and the apparatus further comprises means for receiving, from the second terminal device, a second SDP message responsive to the first SDP message via the one or more network devices.

[0144] In some embodiments, the second SDP message comprises the first media-level attribute or the option of the second media-level attribute and comprises the session-level attribute. In some other embodiments, the second SDP message does not comprise the session-level attribute.

[0145] In some embodiments, the first SDP message is an SDP offer and the second SDP message is an SDP answer.

[0146] In some embodiments, the first media-level attribute is “a=dcid” ; or the second media-level attribute is “a=dcmap” ; or the session-level attribute is “a=group” ; or the data channel stream is a data channel stream control transmission protocol (SCTP) stream; or the combination thereof.

[0147] In some embodiments, the apparatus further comprises means for performing other steps in some embodiments of the method 400. In some embodiments, the means comprises at least one processor; and at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the performance of the apparatus.

[0148] In some embodiments, an apparatus capable of performing any of the method 500  (for example, the second terminal device) may comprise means for performing the respective steps of the method 500. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module.

[0149] In some embodiments, the apparatus comprises means for receiving, from a first terminal device, a first session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; means for generating a second SDP message responsive to the first SDP message; and means for transmitting the second SDP message to the first terminal device via one or more network devices.

[0150] In some embodiments, the means for generating the second SDP message comprises means for, based on determining that the second terminal device does not support the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream, generating the second SDP message without the session-level attribute.

[0151] In some embodiments, the means for generating the second SDP message comprises means for, based on determining that the second terminal device supports but fails to perform the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream, generating the second SDP message without the session-level attribute.

[0152] In some embodiments, the means for generating the second SDP message comprises means for, based on determining that the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream indicated in the first SDP message is invalid, generating the second SDP message without the session-level attribute.

[0153] In some embodiments, the apparatus further comprises means for, based on determining that the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream indicated in the first SDP message is valid, synchronizing playout of the different data channel streams or playout of the at least one data channel stream and the at least one media.

[0154] In some embodiments, the session-level attribute has a semantics-extension for indicating that the session-level attribute is used for grouping together the different data channel streams or grouping together the at least one data channel stream and the at least one media stream.

[0155] In some embodiments, a “Name” of the first media-level attribute is “dcid” ; or a “Value” of the first media-level attribute is “dcid-value” which is set to a dcmap-stream-id;

[0156] a “Usage Level” of the first media-level attribute is “media” ; or a “Charset Dependent” of the first media-level attribute is “No” ; or the first media-level attribute has an option for indicating a “mid” identification associated with the “dcid-value” of the first media-level attribute; or the combination thereof.

[0157] In some embodiments, in the event that at least one condition is met, the first media-level attribute is valid; and in the event that at least one condition is not met, the first media-level attribute is invalid. In some embodiments, the at least one condition comprises one or more of the following conditions: the first media-level attribute is used together with “a=dcmap” attribute and a dcmap-stream-id of the first media-level attribute matches a dcmap-stream-id of the “a=dcmap” attribute; an identification tag used by the first media-level attribute is unique within the session description; an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “mid” value in the SDP message is the same as a “mid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream.

[0158] In some embodiments, the option of the second media-level attribute indicates an identification-tag of the data channel stream.

[0159] In some embodiments, in the event that at least one condition is met, the option of the second media-level attribute is valid; and in the event that at least one condition is not met, the option of the second media-level attribute is invalid. In some embodiments, the at least one condition comprises one or more of the following conditions: an identification tag used by the option of the second media-level attribute is unique within the session description; an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “dcid” value in the SDP message is the same as a “dcid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream.

[0160] In some embodiments, in the event that at least one condition is met, the session- level attribute is valid; and in the event that at least one condition is not met, the session-level attribute is invalid. In some embodiments, the at least one condition comprises one or more of the following conditions: the session-level attribute comprises an identification-tag matches an identification-tag in at least one of “a=mid” , the first media-level attribute of a data channel stream, or the option of the second media-level attribute of a data channel stream; the session-level attribute does not comprise unrecognized semantics; or in the event that the SDP message is an SDP offer, a value of the session-level attribute in an SDP answer is the same as a value of the session-level attribute in the SDP offer or comprises a subset of identification-tags in the SDP offer.

[0161] In some embodiments, the first SDP message is an SDP offer and the second SDP message is an SDP answer.

[0162] In some embodiments, the first media-level attribute is “a=dcid” ; or the second media-level attribute is “a=dcmap” ; or the session-level attribute is “a=group” ; or the data channel stream is a data channel stream control transmission protocol (SCTP) stream; or the combination thereof.

[0163] In some embodiments, the apparatus further comprises means for performing other steps in some embodiments of the method 500. In some embodiments, the means comprises at least one processor; and at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the performance of the apparatus.

[0164] In some embodiments, an apparatus capable of performing any of the method 600 (for example, the network device) may comprise means for performing the respective steps of the method 600. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module.

[0165] In some embodiments, the apparatus comprises means for receiving, from a terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; and means for performing an operation based on the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one  media stream.

[0166] In some embodiments, the session-level attribute has a semantics-extension for indicating that the session-level attribute is used for grouping together the different data channel streams or grouping together the at least one data channel stream and the at least one media stream.

[0167] In some embodiments, a “Name” of the first media-level attribute is “dcid” ; or a “Value” of the first media-level attribute is “dcid-value” which is set to a dcmap-stream-id; or a “Usage Level” of the first media-level attribute is “media” ; or a “Charset Dependent” of the first media-level attribute is “No” ; or the first media-level attribute has an option for indicating a “mid” identification associated with the “dcid-value” of the first media-level attribute; or the combination thereof.

[0168] In some embodiments, in the event that at least one condition is met, the first media-level attribute is valid; and in the event that at least one condition is not met, the first media-level attribute is invalid. In some embodiments, the at least one condition comprises one or more of the following conditions: the first media-level attribute is used together with “a=dcmap” attribute and a dcmap-stream-id of the first media-level attribute matches a dcmap-stream-id of the “a=dcmap” attribute; an identification tag used by the first media-level attribute is unique within the session description; an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “mid” value in the SDP message is the same as a “mid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream.

[0169] In some embodiments, the option of the second media-level attribute indicates an identification-tag of the data channel stream.

[0170] In some embodiments, in the event that at least one condition is met, the option of the second media-level attribute is valid, and in the event that at least one condition is not met, the option of the second media-level attribute is invalid. In some embodiments, the at least one condition comprises one or more of the following conditions: an identification tag used by the option of the second media-level attribute is unique within the session description; an identification tag used by a “a=mid” attribute is unique within the session description; or in the event that the SDP message is an SDP offer, a “dcid” value in the SDP message is the same as a “dcid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream.

[0171] In some embodiments, in the event that at least one condition is met, the session-level attribute is valid, and in the event that at least one condition is not met, the session-level attribute is invalid. In some embodiments, the at least one condition comprises one or more of the following conditions: the session-level attribute comprises an identification-tag matches an identification-tag in at least one of “a=mid” , the first media-level attribute of a data channel stream, or the option of the second media-level attribute of a data channel stream; the session-level attribute does not comprise unrecognized semantics; or in the event that the SDP message is an SDP offer, a value of the session-level attribute in an SDP answer is the same as a value of the session-level attribute in the SDP offer or comprises a subset of identification-tags in the SDP offer.

[0172] In some embodiments, the SDP message is an SDP offer or an SDP answer.

[0173] In some embodiments, the first media-level attribute is “a=dcid” ; or the second media-level attribute is “a=dcmap” ; or the session-level attribute is “a=group” ; or the data channel stream is a data channel stream control transmission protocol (SCTP) stream; or the combination thereof.

[0174] In some embodiments, the network is a policy and charging rules function (PCRF) or an anycast border gateway (A-BGW) . In such embodiments, the operation comprises reserving at least one media resource associated with the grouping.

[0175] In some embodiments, the network is an internet protocol multimedia system application server (IMS AS) . In such embodiments, the operation comprises selecting at least one of a data channel signalling function (DCSF) or a data channel media function (DCMF) , or determining at least one service to be invoked, or the combination thereof.

[0176] In some embodiments, the apparatus further comprises means for performing other steps in some embodiments of the method 600. In some embodiments, the means comprises at least one processor; and at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the performance of the apparatus.

[0177] Fig. 7 is a simplified block diagram of a device 700 that is suitable for implementing embodiments of the present disclosure. The device 700 may be provided to implement the communication device, for example the terminal device 110, 120, or the network device 130 as shown in Fig. 1. As shown, the device 700 includes one or more processors 710, one or more memories 720 coupled to the processor 710, and one or more communication modules  740 coupled to the processor 710.

[0178] The communication modules 740 is for bidirectional communications. The communication modules 740 has at least one antenna to facilitate communication. The communication interface may represent any interface that is necessary for communication with other network elements.

[0179] The processor 710 may be of any type suitable to the local technical network and may include one or more of the following: general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multicore processor architecture, as non-limiting examples. The device 700 may have multiple processors, such as an application specific integrated circuit chip that is slaved in time to a clock which synchronizes the main processor.

[0180] The memory 720 may include one or more non-volatile memories and one or more volatile memories. Examples of the non-volatile memories include, but are not limited to, a Read Only Memory (ROM) 724, an electrically programmable read only memory (EPROM) , a flash memory, a hard disk, a compact disc (CD) , a digital video disk (DVD) , and other magnetic storage and / or optical storage. Examples of the volatile memories include, but are not limited to, a random access memory (RAM) 722 and other volatile memories that will not last in the power-down duration.

[0181] A computer program 730 includes computer executable instructions that are executed by the associated processor 710. The program 730 may be stored in the ROM 724. The processor 710 may perform any suitable actions and processing by loading the program 730 into the RAM 722.

[0182] The embodiments of the present disclosure may be implemented by means of the program 730 so that the device 700 may perform any process of the disclosure as discussed with reference to Figs. 2 to 6. The embodiments of the present disclosure may also be implemented by hardware or by a combination of software and hardware.

[0183] In some embodiments, the program 730 may be tangibly contained in a computer readable medium which may be included in the device 700 (such as in the memory 720) or other storage devices that are accessible by the device 700. The device 700 may load the program 730 from the computer readable medium to the RAM 722 for execution. The computer readable medium may include any types of tangible non-volatile storage, such as ROM, EPROM, a flash memory, a hard disk, CD, DVD, and the like. Fig. 8 shows an  example of the computer readable medium 800 in form of CD or DVD. The computer readable medium has the program 730 stored thereon.

[0184] Generally, various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device. While various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representations, it is to be understood that the block, apparatus, system, technique or method described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

[0185] The present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer readable storage medium. The computer program product includes computer-executable instructions, such as those included in program modules, being executed in a device on a target real or virtual processor, to carry out the method 400 or 500 or 600 as described above with reference to Figs. 2-6. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as desired in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.

[0186] Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.

[0187] In the context of the present disclosure, the computer program codes or related data  may be carried by any suitable carrier to enable the device, apparatus or processor to perform various processes and operations as described above. Examples of the carrier include a signal, computer readable medium, and the like.

[0188] The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. The term “non-transitory, ” as used herein, is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to a limitation on data storage persistency (e.g., RAM vs. ROM) .

[0189] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.

[0190] Although the present disclosure has been described in languages specific to structural features and / or methodological acts, it is to be understood that the present disclosure defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims

1.A first terminal device comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the first terminal device at least to:generate, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; andtransmit the SDP message to a second terminal device via one or more network devices.2.The first terminal device of claim 1, wherein the session-level attribute has a semantics-extension for indicating that the session-level attribute is used for grouping together the different data channel streams or grouping together the at least one data channel stream and the at least one media stream.3.The first terminal device of claim 1 or 2, wherein at least one of the following:a “Name” of the first media-level attribute is “dcid” ;a “Value” of the first media-level attribute is “dcid-value” which is set to a dcmap-stream-id;a “Usage Level” of the first media-level attribute is “media” ;a “Charset Dependent” of the first media-level attribute is “No” ;the first media-level attribute has an option for indicating a “mid” identification associated with the “dcid-value” of the first media-level attribute.4.The first terminal device of any of claims 1-3, wherein:in the event that at least one condition is met, the first media-level attribute is valid; andin the event that at least one condition is not met, the first media-level attribute is invalid.5.The first terminal device of claim 4, wherein the at least one condition comprises at least one of the following:the first media-level attribute is used together with “a=dcmap” attribute and a dcmap-stream-id of the first media-level attribute matches a dcmap-stream-id of the “a=dcmap” attribute;an identification tag used by the first media-level attribute is unique within the session description;an identification tag used by a “a=mid” attribute is unique within the session description; orin the event that the SDP message is an SDP offer, a “mid” value in the SDP message is the same as a “mid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream.6.The first terminal device of any of claims 1-5, wherein the option of the second media-level attribute indicates an identification-tag of the data channel stream.7.The first terminal device of any of claims 1-6, wherein:in the event that at least one condition is met, the option of the second media-level attribute is valid; andin the event that at least one condition is not met, the option of the second media-level attribute is invalid.8.The first terminal device of claim 7, wherein the at least one condition comprises at least one of the following:an identification tag used by the option of the second media-level attribute is unique within the session description;an identification tag used by a “a=mid” attribute is unique within the session description; orin the event that the SDP message is an SDP offer, a “dcid” value in the SDP message is the same as a “dcid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream.9.The first terminal device of any of claims 1-8, wherein:in the event that at least one condition is met, the session-level attribute is valid; andin the event that at least one condition is not met, the session-level attribute is invalid.10.The first terminal device of claim 9, wherein the at least one condition comprises at least one of the following:the session-level attribute comprises an identification-tag matches an identification-tag in at least one of “a=mid” , the first media-level attribute of a data channel stream, or the option of the second media-level attribute of a data channel stream;the session-level attribute does not comprise unrecognized semantics; orin the event that the SDP message is an SDP offer, a value of the session-level attribute in an SDP answer is the same as a value of the session-level attribute in the SDP offer or comprises a subset of identification-tags in the SDP offer.11.The first terminal device of any of claims 1-10, wherein the SDP message is a first SDP message, and the first terminal device is further caused to:receive, from the second terminal device, a second SDP message responsive to the first SDP message via the one or more network devices.12.The first terminal device of claim 11, wherein:the second SDP message comprises the first media-level attribute or the option of the second media-level attribute and comprises the session-level attribute; orthe second SDP message does not comprise the session-level attribute.13.The first terminal device of claim 11 or 12, wherein the first SDP message is an SDP offer and the second SDP message is an SDP answer.14.The first terminal device of any of claims 1-13, wherein at least one of the following:the first media-level attribute is “a=dcid” ;the second media-level attribute is “a=dcmap” ;the session-level attribute is “a=group” ; orthe data channel stream is a data channel stream control transmission protocol (SCTP) stream.15.A second terminal device comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the second terminal device at least to:receive, from a first terminal device, a first session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream;generate a second SDP message responsive to the first SDP message; andtransmit the second SDP message to the first terminal device via one or more network devices.16.The second terminal device of claim 15, wherein the second terminal device is caused to generate the second SDP message by:based on determining that the second terminal device does not support the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream, generating the second SDP message without the session-level attribute.17.The second terminal device of claim 15 or 16, wherein the second terminal device is caused to generate the second SDP message by:based on determining that the second terminal device supports but fails to perform the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream, generating the second SDP message without the session-level attribute.18.The second terminal device of any of claims 15-17, wherein the second terminal device is caused to generate the second SDP message by:based on determining that the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream indicated in the first SDP message is invalid, generating the second SDP message without the session-level attribute.19.The second terminal device of any of claims 15-18, wherein the second terminal device is further caused to:based on determining that the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream indicated in the first SDP message is valid, synchronize playout of the different data channel streams or playout of the at least one data channel stream and the at least one media.20.The second terminal device of any of claims 15-19, wherein the session-level attribute has a semantics-extension for indicating that the session-level attribute is used for grouping together the different data channel streams or grouping together the at least one data channel stream and the at least one media stream.21.The second terminal device of any of claims 15-20, wherein at least one of the following:a “Name” of the first media-level attribute is “dcid” ;a “Value” of the first media-level attribute is “dcid-value” which is set to a dcmap-stream-id;a “Usage Level” of the first media-level attribute is “media” ;a “Charset Dependent” of the first media-level attribute is “No” ;the first media-level attribute has an option for indicating a “mid” identification associated with the “dcid-value” of the first media-level attribute.22.The second terminal device of any of claims 15-21, wherein:in the event that at least one condition is met, the first media-level attribute is valid; andin the event that at least one condition is not met, the first media-level attribute is invalid.23.The second terminal device of claim 22, wherein the at least one condition comprises at least one of the following:the first media-level attribute is used together with “a=dcmap” attribute and a dcmap-stream-id of the first media-level attribute matches a dcmap-stream-id of the “a=dcmap” attribute;an identification tag used by the first media-level attribute is unique within the session description;an identification tag used by a “a=mid” attribute is unique within the session description; orin the event that the SDP message is an SDP offer, a “mid” value in the SDP message is the same as a “mid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream.24.The second terminal device of any of claims 15-23, wherein the option of the second media-level attribute indicates an identification-tag of the data channel stream.25.The second terminal device of any of claims 15-24, wherein:in the event that at least one condition is met, the option of the second media-level attribute is valid; andin the event that at least one condition is not met, the option of the second media-level attribute is invalid.26.The second terminal device of claim 25, wherein the at least one condition comprises at least one of the following:an identification tag used by the option of the second media-level attribute is unique within the session description;an identification tag used by a “a=mid” attribute is unique within the session description; orin the event that the SDP message is an SDP offer, a “dcid” value in the SDP message is the same as a “dcid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream.27.The second terminal device of any of claims 15-26, wherein:in the event that at least one condition is met, the session-level attribute is valid; andin the event that at least one condition is not met, the session-level attribute is invalid.28.The second terminal device of claim 27, wherein the at least one condition comprises at least one of the following:the session-level attribute comprises an identification-tag matches an identification-tag in at least one of “a=mid” , the first media-level attribute of a data channel stream, or the option of the second media-level attribute of a data channel stream;the session-level attribute does not comprise unrecognized semantics; orin the event that the SDP message is an SDP offer, a value of the session-level attribute in an SDP answer is the same as a value of the session-level attribute in the SDP offer or comprises a subset of identification-tags in the SDP offer.29.The second terminal device of any of claims 15-28, wherein the first SDP message is an SDP offer and the second SDP message is an SDP answer.30.The second terminal device of any of claims 15-29, wherein at least one of the following:the first media-level attribute is “a=dcid” ;the second media-level attribute is “a=dcmap” ;the session-level attribute is “a=group” ; orthe data channel stream is a data channel stream control transmission protocol (SCTP) stream.31.A network device comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the network device at least to:receive, from a terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; andperform an operation based on the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream.32.The network device of claim 31, wherein the session-level attribute has a semantics-extension for indicating that the session-level attribute is used for grouping  together the different data channel streams or grouping together the at least one data channel stream and the at least one media stream.33.The network device of claim 31 or 32, wherein at least one of the following:a “Name” of the first media-level attribute is “dcid” ;a “Value” of the first media-level attribute is “dcid-value” which is set to a dcmap-stream-id;a “Usage Level” of the first media-level attribute is “media” ;a “Charset Dependent” of the first media-level attribute is “No” ;the first media-level attribute has an option for indicating a “mid” identification associated with the “dcid-value” of the first media-level attribute.34.The network device of any of claims 31-33, wherein:in the event that at least one condition is met, the first media-level attribute is valid; andin the event that at least one condition is not met, the first media-level attribute is invalid.35.The network device of claim 34, wherein the at least one condition comprises at least one of the following:the first media-level attribute is used together with “a=dcmap” attribute and a dcmap-stream-id of the first media-level attribute matches a dcmap-stream-id of the “a=dcmap” attribute;an identification tag used by the first media-level attribute is unique within the session description;an identification tag used by a “a=mid” attribute is unique within the session description; orin the event that the SDP message is an SDP offer, a “mid” value in the SDP message is the same as a “mid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream.36.The network device of any of claims 31-35, wherein the option of the second media-level attribute indicates an identification-tag of the data channel stream.37.The network device of any of claims 31-36, wherein:in the event that at least one condition is met, the option of the second media-level attribute is valid; andin the event that at least one condition is not met, the option of the second media-level attribute is invalid.38.The network device of claim 37, wherein the at least one condition comprises at least one of the following:an identification tag used by the option of the second media-level attribute is unique within the session description;an identification tag used by a “a=mid” attribute is unique within the session description; orin the event that the SDP message is an SDP offer, a “dcid” value in the SDP message is the same as a “dcid” value in an SDP answer for a data channel stream and is maintained throughout a lifetime of the data channel stream.39.The network device of any of claims 31-38, wherein:in the event that at least one condition is met, the session-level attribute is valid; andin the event that at least one condition is not met, the session-level attribute is invalid.40.The network device of claim 39, wherein the at least one condition comprises at least one of the following:the session-level attribute comprises an identification-tag matches an identification-tag in at least one of “a=mid” , the first media-level attribute of a data channel stream, or the option of the second media-level attribute of a data channel stream;the session-level attribute does not comprise unrecognized semantics; orin the event that the SDP message is an SDP offer, a value of the session-level attribute in an SDP answer is the same as a value of the session-level attribute in the SDP offer or comprises a subset of identification-tags in the SDP offer.41.The network device of any of claims 31-40, wherein the SDP message is an SDP offer or an SDP answer.42.The network device of any of claims 31-41, wherein at least one of the following:the first media-level attribute is “a=dcid” ;the second media-level attribute is “a=dcmap” ;the session-level attribute is “a=group” ; orthe data channel stream is a data channel stream control transmission protocol (SCTP) stream.43.The network device of any of claims 31-42, wherein the network device is a policy and charging rules function (PCRF) or an anycast border gateway (A-BGW) , and the operation comprises reserving at least one media resource associated with the grouping.44.The network device of any of claims 31-42, wherein the network device is an internet protocol multimedia system application server (IMS AS) , and the operation comprises at least one of the following:selecting at least one of a data channel signalling function (DCSF) or a data channel media function (DCMF) ; ordetermining at least one service to be invoked.45.A method comprising:generating, at a first terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; andtransmitting the SDP message to a second terminal device via one or more network devices.46.A method comprising:receiving, at a second terminal device and from a first terminal device, a first session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream;generating a second SDP message responsive to the first SDP message; andtransmitting the second SDP message to the first terminal device via one or more network devices.47.A method comprising:receiving, at a network device and from a terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; andperforming an operation based on the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream.48.An apparatus comprising:means for generating, at a first terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; andmeans for transmitting the SDP message to a second terminal device via one or more network devices.49.An apparatus comprising:means for receiving, at a second terminal device and from a first terminal device, a first session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream;means for generating a second SDP message responsive to the first SDP message; andmeans for transmitting the second SDP message to the first terminal device via one or more network devices.50.An apparatus comprising:means for receiving, at a network device and from a terminal device, a session description protocol (SDP) message comprising a first media-level attribute or an option of a second media-level attribute, wherein the first media-level attribute or the option is used for identifying a data channel stream within a session description, and the SDP message further comprises a session-level attribute for grouping together different data channel streams or grouping together at least one data channel stream and at least one media stream; andmeans for performing an operation based on the grouping of the different data channel streams or the grouping of the at least one data channel stream and the at least one media stream.51.A non-transitory computer readable medium comprising program instructions that, when executed by an apparatus, cause the apparatus to perform at least the method of any of claims 45-47.

Citation Information

Patent Citations

  • Transmission node, broadcast station system, control node and transmission control method

    JP2020162087A

  • System and method for embedding a sreaming media format header within a session description message

    US20030236912A1

  • Session description message extensions

    US20050262187A1

  • Media stream grouping in multimedia communication networks

    US20140136656A1

  • A method and device for obtaining the relationship between a channel and the corresponding media files from the SDP message, and sending / receiving the channel information in the SDP message

    WO2009052753A1