Tech-invite3GPPspaceIETFspace
21222324252627282931323334353637384‑5x

Content for  TS 26.114  Word version:  18.5.0

Top   Top   Up   Prev   Next
0…   3…   4…   5…   6…   6.2.3…   6.2.5…   6.2.7…   6.2.10…   7…   7.5…   8…   9…   10…   10.2.1.6…   10.2.2…   10.3…   10.4…   11…   12…   12.3…   12.7…   13a…   16…   16.5…   17…   18…   19…   A…   A.3…   A.4…   A.5…   A.10…   A.14…   A.15…   B…   C…   C.1.3…   C.1.3.5   C.2…   D   E…   E.18…   E.31…   G…   K…   L…   M…   N…   O…   P…   P.3   Q…   R…   S…   T…   U…   V…   W…   X…   Y…   Y.6…   Y.6.4…   Y.6.5…   Y.7…

 

S (Normative)  Multi-party Multimedia Conference Media Handling |R13|p. 413

S.1  Generalp. 413

This Annex describes an extension to MTSI, which is optional to implement for an MTSI client. It contains descriptions of both mandatory and optional functionalities for the particular type of MTSI client that is called MSMTSI client, which is better suited for group audio/video communication than a regular MTSI client. The specifications in this Annex apply in addition to the rest of this specification, except when it is explicitly stated that the text here replaces other parts of this specification.
The intention with this extension is to avoid transcoding as far as possible in multiparty calls. For example, without this extension, video conferencing would need transcoding in the MRF to compose the different videos received from different senders into a single video, containing a main video and a number of thumbnails, which is then sent to each receiver. It may happen that the MRF needs to compose different video compositions to different receivers, which multiplies the need for transcoding and thus scales poorly with the size of the group. With this extension, the MRF can forward the necessary streams, without transcoding, to each MSMTSI client in terminal, which then composes the final image that is presented to the user.
Avoiding transcoding reduces the complexity in the MRF and reduces the end-to-end delay. Quality degradations caused by the transcoding can often also be avoided. The benefits with this extension are further described in TR 26.980.
Up

S.2  Videop. 413

S.2.1  Conversational videop. 413

An MSMTSI client in the terminal shall be capable of receiving and locally composing at least one main video and one or more video thumbnails. A "thumbnail" video is in this context defined as a receive-only video "m="-line that is not the first video "m="-line in the SDP, and that is also not identified with any "a=content:main" or "a=content:slides".
An MSMTSI client in terminal shall support receiving at least one thumbnail and may also support receiving any number of additional thumbnails, subject to MSMTSI client capability. An MSMTSI MRF shall support sending at least two thumbnails and may support sending any number of additional thumbnails, subject to MSMTSI MRF capability.
An MSMTSI client in terminal shall support sending at least one thumbnail-sized simulcast format of the main video, and may support sending also other simulcast formats. An MSMTSI MRF shall support receiving at least one thumbnail-sized simulcast format of the main video, and may support receiving also other simulcast formats.
Up

S.2.2  Non-conversational (screenshare) videop. 413

An MSMTSI client may support sending and receiving screenshare video. The first picture of the screen sharing video an MSMTSI client sends after being granted the screenshare BFCP floor (see clause S.5.6) shall be random accessible, i.e., as if a FIR would have been received.

S.3  Audiop. 413

S.3.1  Generalp. 413

An MSMTSI client in terminal shall be capable of receiving and may be capable of sending multiple simultaneous audio RTP streams. The number of multiple audio streams received at the MSMTSI client may be different than the number of multiple audio streams sent from the same MSMTSI client.
Support for multiple audio streams in the direction from an MSMTSI MRF to an MSMTSI client in the terminal shall be interpreted as originating from different group call participants.
An MSMTSI client in terminal shall support local mixing of received audio streams, and may support use of spatial rendering tools, such as local Head-Related Transfer Function (HRTF), to perform audio panning and mixing of the multiple audio streams. Audio panning may enable the rendering device to choose to vary the audio levels of participants by adjusting the mixing gains.
Multi-stream audio is not to be confused with multichannel audio where multi-stream audio may include one or more of mono, stereo, or multichannel audio RTP streams originating from different group call participants.
Up

S.3.2  De-jitter bufferp. 414

The functional requirements for jitter-buffer management of MSMTSI client in terminal shall meet the same minimum performance requirements per audio stream that are set for MTSI clients (Clause 8).

S.4  SIPp. 414

S.4.1  MSMTSI client in terminalp. 414

An MSMTSI client in terminal shall, when connecting to a remote party that included the "isFocus" tag in any of its SIP headers, subscribe to SIP conference events, as described in TS 24.147. The MSMTSI client in terminal shall be able to receive and handle conference event notifications, resulting from the subscription. The MSMTSI client in terminal shall be capable of parsing all conference event information elements, shall be capable of receiving partial conference event information, and shall be capable of presenting conference event information to the user of the MSMTSI client in terminal, either automatically or on explicit user request. The MSMTSI client in terminal shall be capable of presenting at least the values of the conference event information elements indicated in bold below to the user of the MSMTSI client in the terminal, and shall be capable to use the conference event information elements indicated in italics below for endpoint and media identification, as defined by TS 24.147 and RFC 4575 (here also indicating relevant parts of the XML document hierarchy, for information):
  • <conference-info>
    • <conference-description>
      • <display-text>
      • <subject>
    • <users>
      • <user>
        • <display-text>
        • <associated-aors>
          • <entry>
            • <uri>
        • <endpoint>
          • <media>
            • <src-id>
Values for other conference event information elements may optionally be made available to the user of the MSMTSI client in the terminal.
Up

S.4.2  MSMTSI MRFp. 415

An MSMTSI MRF shall include the "isFocus" tag in all of its outgoing SIP headers that support inserting that tag. It shall be capable of handling subscriptions and unsubscriptions for conference event information, as specified in TS 24.147.

S.5  Media configurationp. 415

S.5.1  Generalp. 415

An MSMTSI client that receives an SDP offer with "m="-lines that it cannot handle or does not understand shall use regular SDP offer/answer procedures (RFC 4566) to individually reject those unsupported "m="-lines. An MSMTSI client shall not send RTP or RTCP for rejected "m="-lines.
An MSMTSI client shall support controlling its maximum sending rate per "m="-line for media related to that "m="-line, as described by clause 6.2.5.
A "common codec" is a codec (typically a legacy/older generation codec) that is supported by all the participants in the conference and enables transcoder-free MSMTSI conferencing. If all participants share support for more than a single codec for a certain media type, the codec providing the best media quality for a given bitrate should be chosen by the MSMTSI MRF as the "common codec".
A "preferred codec" is a codec (typically a better compression performance, newer generation codec) that is supported by some but not all participants in the conference and enables better media quality.
The common codec and preferred codec(s) may be determined by:
  1. the codecs that were offered or pre-selected by the conference participant that initiated the conference (ad hoc or pre-scheduled)
  2. the codecs supported by other conference participants, e.g., by use of SIP OPTIONS (see clause S.5.7.3).
When setting up individual sessions with the conference participants, the MSMTSI MRF:
  1. shall include the common codec in the SDP offer/answer negotiation, and
  2. may additionally include the preferred codecs in the SDP offer/answer negotiation to improve conference quality or performance.
To avoid transcoding when multiple codecs of a media type are used in an MSMTSI session,
  1. simulcast RFC 8853 shall be negotiated;
  2. usage of both preferred and common codecs in the SDP shall be supported;
  3. the MSMTSI MRF shall include the preferred codecs in the SDP as being simulcast with a corresponding common codec stream for the same media type; and
  4. a participant sending media using a preferred codec shall also simulcast a representation of the same media using the common codec for that media type.
When constructing "a=rid" (RFC 8851) line identification of simulcast formats, MSMTSI clients in terminal and MSMTSI MRF shall use a 1:1 mapping per direction between each rid-id and the corresponding RTP payload type number in the "pt=" parameter on the "a=rid" line. It is optional for MSMTSI clients in terminal and MSMTSI MRF to support constraints parameters for the "a=rid" lines. An MSMTSI client in terminal and MSMTSI MRF shall be capable to ignore any "a=rid" constraints parameters it does not understand and shall correctly negotiate them away in the SDP answer, as specified in RFC 8851.
The recommended approach by which the common and preferred codec information is exchanged between the MSMTSI MRF and the MSMTSI terminals is to use the order in which the codecs are listed in the SDP a=simulcast line, which lists simulcast streams in order of decreasing priority. The common codec should be listed first, assuming that the common codec simulcast stream is to be used as far as possible, to avoid transcoding. The preferred codec may instead be listed first if a limited amount of transcoding is considered an acceptable cost for keeping good media quality.
Up

S.5.2  Main videop. 416

The main video SDP "m="-line shall be the first video "m="-line in an SDP offer from an MSMTSI client, to increase the probability that it is accepted by a non-MSMTSI client. The main video SDP "m="-line shall be identified by an "a=content:main" SDP attribute (RFC 4796) under that "m="-line. The MSMTSI client shall be capable of identifying the main video when the video "m="-line contains "a=content:main", even if this is not the first video "m="-line in the SDP. An MSMTSI client shall be capable of receiving an SDP without any "a=content:main" SDP video attribute, and should then choose main video to be the first suitable video "m="-line that cannot be clearly identified for another purpose (such as for example "a=content:slides", see below).
In case of video, where the main video and thumbnail video are being sent from the MSMTSI client to the MSMTSI MRF, use of simulcast shall be indicated in SDP according to RFC 8853 and RFC 8851 in an SDP offer. SDP simulcast negotiation decides which simulcast formats, if any, that are sent between the MSMTSI clients in terminal and the MSMTSI MRF. An MSMTSI client in terminal shall use send direction simulcast in the SDP when negotiating use of simulcast to send main video thumbnail. An MSMTSI MRF shall use receive direction simulcast in the SDP when negotiating use of simulcast towards an MSMTSI client in terminal to receive main video thumbnail.
An MSMTSI client in terminal that receives an SDP offer using simulcast from a remote party that is not a conference focus (indicated by the SIP isFocus tag not being present in SIP headers), should disable use of simulcast in the corresponding SDP answer.
Up

S.5.3  Thumbnail videop. 416

Each thumbnail video that the MSMTSI client supports shall be negotiated as a separate SDP video "m="-line, different from the main video "m="-line ("a=content:main") and any screenshare video "m="-line ("a=content:slides").
An MSMTSI client in the terminal shall use receive-only direction for all thumbnail videos in the SDP. An MSMTSI MRF shall use send-only direction for all thumbnail videos in the SDP that are sent towards an MSMTSI client in the terminal. As a specific case of the general SDP "m="-line handling specified by S.5, an MSMTSI client that receives an SDP offer with more thumbnail video "m="-lines than it can support, shall disable the "m="-lines it cannot support (by setting port to 0) in the SDP answer. Which thumbnail "m="-lines to keep and which to reject, in case all cannot be supported, is left for MSMTSI client implementation preference.
A thumbnail "m="-line is generally not dedicated to a certain conference participant and the number of "m="-lines for thumbnails therefore need not match the number of conference participants. If RTP stream selective forwarding (see clause S.6) is used for thumbnails by the MSMTSI MRF, though the forwarded participant may change at any point in time, a single thumbnail "m="-line can map to an RTP stream from any one of the participants. The number of thumbnail "m="-lines actually used between an individual MSMTSI client in terminal and an MSMTSI MRF is thus decided by the minimum number of thumbnail "m="-lines in any of their SDPs, irrespective of the MSMTSI client in terminal or the MSMTSI MRF being the entity supporting the fewest thumbnail "m="-lines. Therefore, the number of thumbnail "m="-lines supported by an individual MSMTSI client in terminal does not limit the number of thumbnail "m="-lines used between the MSMTSI MRF and other MSMTSI clients in terminals participating in the same conference.
An MSMTSI client in terminal that receives an SDP offer using thumbnails from a remote party that is not a conference focus (indicated by the SIP isFocus tag not being present in SIP headers), should disable thumbnail "m="-lines in the corresponding SDP answer.
Up

S.5.4  Screenshare videop. 417

When screenshare video is supported, it shall be indicated as a separate SDP video "m="-line, identified by "a=content:slides" (RFC 4796) under that "m="-line. There is no restriction in how the screenshare video "m="-line is ordered in relation to other "m="-lines in the SDP, except that it shall be listed after the main video "m="-line.
Up

S.5.5  Audiop. 417

The main audio SDP "m="-line shall be the first "m="-line in an SDP offer from an MSMTSI client, to increase the probability that it is accepted by a non-MSMTSI client.
Support for multiple, simultaneous audio streams shall be indicated in SDP as separate audio "m="-lines. The number of supported channels in multi-channel audio shall be indicated per audio stream through the SDP "m="-line <encoding parameters>, with the default being a single channel when <encoding parameters> is omitted. There is no restriction in how additional audio "m="-lines are ordered in relation to other "m="-lines in the SDP, except that they shall be listed after the main audio "m="-line.
Up

S.5.6  BFCPp. 417

Use of BFCP (see also clause S.7) is defined in TS 24.147. BFCP is negotiated with a single "m="-line for BFCP in SDP as specified in RFC 4583. If both screenshare video and main video are negotiated, they shall be negotiated to use separate BFCP floor identifications. An MSMTSI client shall be capable of correctly associating SDP "m="-lines with BFCP floors through the SDP answer, as described in RFC 4583.
An MSMTSI MRF shall support at least the BFCP floor control server role in SDP offer/answer.
An MSMTSI client in terminal shall support the BFCP floor control client role in SDP offer/answer, but may in addition support also the BFCP floor control server role. Which role is taken by which part is decided by BFCP SDP offer/answer.
Up

S.5.7  Compact Concurrent Codec Negotiation and Capabilities |R14|p. 417

S.5.7.1  Generalp. 417

To establish MMCMH sessions that make the most of all the participating terminals' codec capabilities without exceeding the concurrent codec capabilities of each participating terminal, the MMCMH session intiator needs to know the concurrent codec capabilities of all the other terminals. MSMTSI terminals can use the concurrent codec capabilities exchange procedures specified in this clause to obtain this information in a compact format. Furthermore, the specified procedures can be used to negotiate, in a compact manner, which concurrent codecs to use for the MMCMH session.
Up

S.5.7.2  The Compact CCC SDP Attributep. 417

The Compact CCC SDP attribute enables MSMTSI terminals to communicate the CCC information in a more compact format. The ABNF definition is as follows:
ccc-list	= "a=ccc_list:" codeclist 1*63( "|" ccc-prof )
codeclist	= codec [SP config] *63( ";" codec [SP config] )
ccc-prof	= "ENC:" num *63( rule num ) ":DEC:" num *63( rule num )
codec	= byte-string
		; byte-string defined in RFC 4566
level	= 1*3DIGIT
profile	= 1*3DIGIT
config	= ( profile SP level ) / level
rule	= ";" / ","
num	= 1*2DIGIT
codec is the media subtype name of a codec as defined in the RTP payload format for that codec, e.g. "H264" for H.264 as defined in RFC 6184 and "H265" for H.265 as defined in RFC 7798, respectively.
codeclist is an ordered list of the different codecs that are supported by the terminal. The codecs should be listed in order of decreasing complexity from left to right for the "," rule to indicate the ability to substitute an instance of a more complex codec with a simpler one.
level, which is optional, specifies the level of the codec, converted and expressed in hexadecimal format, i.e., for H.264 and H.265 the value is equal to level_idc as defined in RFC 6184 and level-id as defined in RFC 7798, respectively.
profile, which is optional, specifies the profile of the codec, e.g. for H.264 and H.265 the value is equal to profile_idc as defined in RFC 6184 and profile-id as defined in RFC 7798, both expressed in hexadecimal fomat, respectively. If the profile is included then the level is also included. However, it is allowed to have the level to be present without the profile being present.
rule specifies in a particular CCC profile (ccc-prof) whether the resources used for a concurrent instance of the codec may be used instead by a concurrent instance of the codec listed afterwards, e.g., the next listed codec is less computationally complex and runs on the same processor as the previously listed codec. When the value is "," then an instance of the subsequent codec can used in place of an instance of the previously listed codec. When the value is ";"' an instance of the subsequent codec cannot be used instead.
num specifies the maximum number of supported concurrent encoders (when the combination follows "ENC") or decoders (when the combination follows "DEC") of the specified codec at the specified level and profile (when present). num specifies the maximum number of instances of the particular codec that can operate concurrently when all the other codecs in the same ccc-prof have their corresponding num of instances operating. The number of instances of num that immediately follows "ENC" and the number of instances of num that immediately follows "DEC" are both the same as the number of instances of codec, and an instance of num is mapped to an instance of codec with the same order in the ordered codeclist.
There can be multiple ccc-prof's to indicate support of different configurations of concurrent encoders and decoders, e.g., to indicate that supporting less concurrent encoders enables the terminal to support more concurrent decoders. ccc-prof's should not be in conflict with each other, i.e., indicate a different maximum number of instances (num) of a particular codec when the maximum number of instances of all the other codecs in the ccc-prof's are the same. If a conflict is detected between ccc-prof's, the information from the first ccc-prof among the conflicting ccc-prof's is used and all the other conflicting ccc-prof's are ignored.
If the terminal has the ability to trim the number of received media streams it actually decodes, it can advertise a num value that is larger than it actually has the concurrent decoding capabilities for.
As the "a=ccc_list" attribute is a compact representation of the media capabilities that are expressed in SDP, using it is not expected to introduce any additional security conditions beyond those identified for SDP. Therefore the security considerations for the attribute are covered by the security considerations for SDP as specified in RFC 4566. There are no identified interoperability concerns for this atttibute as it is a new attribute and the values used for the codec field are well defined to use values managed by IANA.
Up

S.5.7.3  Using the Compact CCC SDP Attribute for CCC Exchangep. 418

The SIP OPTIONS method specified in RFC 3261 is used to query the capabilities of another terminal by asking the conference participant to send a copy of the SDP it would offer.
For example, the SIP OPTIONS request may be made in-advance of a conference call and the SIP OPTIONS response be stored for the queried terminal. Alternatively, immediately before setting up a conference, the conference initiator may query the capabilities of all the terminals it plans to invite for which it does not have the information pre-stored.
In single source multi-unicast (SSMU) topology (TR 26.980), the MRF sends the SIP OPTIONS request to each of the terminals before setting up the conference. The terminals send the SIP OPTIONS response to the MRF. The MRF can then use this response information to pre-configure and send the SDP Offers to the terminals using simulcast and multiple m- lines for the MSMTSI session. Alternatively, for the case where MSMTSI terminals call in and sends SDP Offers to MRF (instead of MRF calling out), the MRF can still use knowledge from SIP OPTIONS response to adjust its SDP Answer.
In multi-unicast topology, the conference initiator sends the SIP OPTIONS request to each of the conference participants well in-advance of the conference call. Upon receiving the SIP OPTIONS response from the participants, the conference initiator may store the encoding/decoding preferences of the conference participants for setting up the MSMTSI session.
A new content type cccex, is used to request the ccc_list attribute (see clause S.5.7.4). The SIP OPTIONS response shall contain the text that follows "a=ccc_list:" when using the ccc_list attribute.
SIP OPTIONS SDP examples are given in clause T.3.4.
Up

S.5.7.4  Using the Compact CCC SDP Attribute for Session Initiationp. 419

S.5.7.4.1  Generalp. 419
MSMTSI terminals shall be able to interpret and respond to the ccc_list attribute included in an SDP answer. MSMTSI terminals should include the ccc_list attribute in an SDP offer to reduce the size of the offer when multiple media configurations of concurrent codecs are being offered.
S.5.7.4.2  SDP Offer Rulesp. 419
When an MSMTSI terminal generates an offer that includes the ccc_list attribute, it shall include only a single instance of the ccc_list attribute, and one or more media configurations which together cover all the possible concurrent codec configurations that the offerer can support. If the included media configuration(s) offer more concurrent codec configurations than the offerer can support, the offering MSMTSI terminal shall use the ccc_list attribute to indicate to the answerer additional restrictions to the media configurations included in the offer. This allows the MSMTSI offerer to include a single media configuration without using MediaCapNeg and requiring much fewer lines of SDP.
When an MSMTSI terminal includes the ccc_list attribute in an SDP offer it shall check whether the ccc_list attribute is included in the SDP answer it receives. If the attribute is included, the offering MSMTSI terminal may store this CCC information about the other terminal for use in future sessions. If multiple instances of the attribute are included in the SDP answer, the offering MSMTSI terminal shall ignore all but the first instance. If the attribute is not included, the offering MSMTSI terminal shall check that it can support the media configuration selected in the SDP answer in the MMCMH session. If the offering MSMTSI can not support the selected media configuration, it shall send a re-INVITE to the answering terminal without including the ccc_list attribute in the new SDP offer.
Up
S.5.7.4.3  SDP Answer Rulesp. 419
When an answering MSMTSI terminal receives an offer that includes the ccc_list attribute, it shall include exactly one instance of the ccc_list attribute in the SDP answer. If multiple instances of the attribute are received in the offer, the answering MSMTSI terminal shall ignore all but the first instance. The answering MSMTSI terminal may store this CCC information about the offering terminal for use in future sessions.
When an answering MSMTSI terminal includes the ccc_list attribute in an SDP answer, it shall set the attribute to describe the complete concurrent codec capabilities of the answering MSMTSI terminal, independent of what was received in the SDP offer.
Up

S.6  Media transportp. 419

S.6.1  RTPp. 419

An MSMTSI client shall be capable of receiving multiple, separate RTP streams (RFC 3550) related to a single SIP dialog and route them to the correct decoder based on RTP SSRC, RTP Payload Type, and any "a=content" information in the SDP. The number of RTP streams used in each direction and for each media type is limited to what is negotiated by SDP offer/answer for that SIP dialog, allowing the involved MSMTSI clients to express a limit to the number of streams they can handle simultaneously.
An MSMTSI client in terminal shall be capable of relating received RTP SSRC and CSRC with information from the conference event information (clause S.4), to enable indicating the identity of the RTP stream source. If a received RTP SSRC has no match in the conference event information, and if RTP CSRC is present, CSRC shall also be matched against conference event information. It is left up to MSMTSI client implementation what RTP stream source identification to use if neither SSRC nor CSRC can be matched against conference event information.
Up

S.6.2  RTCPp. 420

An MSMTSI client in the terminal shall, as an MTSI client in the terminal, be capable to receive RTCP feedback (FIR, PLI, TMMBR, etc) (RFC 4585) (RFC 5104) and respond accordingly, but shall also be capable to identify which sent RTP stream (SSRC) the RTCP feedback targets and direct it to the appropriate encoder.
An MSMTSI client shall support RTP-level pause and resume functionality according to RFC 7728 for all of its RTP streams, with the exception of the main audio stream from an MSMTSI client in terminal towards an MSMTSI MRF, which is not required to (but may) support RTP-level pause and resume functionality. An MSMTSI client shall be capable of restricting its use of RTP-level pause and resume functionality according to received pause/resume config parameter information in SDP, including not using it at all if that is the negotiation outcome.
An MSMTSI client in terminal shall support RTP-level pause and resume functionality at least corresponding to config=3, and should support full RTP-level pause and resume functionality corresponding to config=1.
An MSMTSI MRF shall support RTP-level pause and resume functionality at least corresponding to config=2, and should support full RTP-level pause and resume functionality corresponding to config=1.
Up

S.6.3  RTP Stream Selective Forwarding |R14|p. 420

When a conference includes a large number of terminals or participants, the size of the SDP Offer listing the concurrent codec capabilities (CCC) using multiple m= lines can increase considerably. To reduce the size of the SDP offer when a conference includes a large number of participants, RTP-level selective forwarding by the MSMTSI MRF shall support RTP pause/suspend, reuse, replace, and resume actions. This RTP-level "suspend, resuse, replace, and resume" action is described using an example in clause 6.13.4.2 of TR 26.980.
In the SDP Offer the MSMTSI MRF may use fewer downlink m= lines, corresponding to dynamically selected streams even though there are large number of participants or terminals in the MSMTSI session.
To support RTP stream selective forwarding when some participants in a conference supports both the "common" and one or more "preferred" codecs while other participants support only the "common" codec, certain conditions need to be fulfilled for MSMTSI clients both in the terminal and in MSMTSI MRF. This is described below.
The MSMTSI MRF should construct the SDP Offer such that the downlink RTP stream from one participant fits sufficiently well with the capabilities of another participant such that the same downlink m= line can be used for RTP stream selective forwarding. For this, the MSMTSI MRF should pre-anlayze the CCCEx (e.g., based on SIP OPTIONS) and construct sub-groups of participants that can share a given m= line with a given set of "preferred" and "common" codecs in the simulcast.
An MSMTSI client in terminal that supports both "common" and "preferred" codecs for a media type shall support concurrent encoding, sending simulcast (RFC 8851), and concurrent decoding, with more than a single one codec for every sending media source ("m=" line) of that media type. An MSMTSI MRF that supports both "common" and "preferred" codecs for a media type shall support receving simulcast with more than a single codec for every received media source ("m=" line) of that media type.
An MSMTSI client in terminal that supports both "common" and "preferred" codecs for a media type shall be capable to receive media using any one of those codecs, even if the used codec (RTP payload type) is changing from one RTP packet to the next, for all received media sources ("m=" lines) of that media type. This capability to receive RTP payload type changing from one RTP packet to the next is indicated by accepting payload types with both "common" and "preferred" codecs from the SDP offer in the SDP answer. This way, no SDP re-negotiation is needed to change codec between the ones included in the answer. This ability to support RTP payload type changes every RTP packet is an essential part of the receiving end of a codec simulcast scenario, and shall be explicitly indicated in SDP by including "a=simulcast" with the supported codecs as simulcast format alternatives, even if it means that only a single simulcast stream with alternatives is listed in simulcast receive direction.
An MSMTSI client in the terminal that negotiated receiving simulcast with different codecs and that receives a set of such simulcast streams, can dynamically choose which simulcast stream to decode and should use the best quality simulcast stream that is available.
An MSMTSI MRF that negotiated sending simulcast with a set of different codecs and that needs to forward streams using those codecs, may change RTP payload type within that set in its sent stream at any point in time, as needed to support the communication scenario and forwarding strategy used by the MSMTSI MRF.
The MSMTSI MRF should take action to allow decoder memories to clear when replacing one RTP stream with another RTP stream during switching, to avoid media distortion in the receiving MSMTSI client in the terminal. To enable this, it is currently necessary for the MSMTSI MRF to know the RTP payload format of the used codecs, even if no transcoding is needed. The MSMTSI MRF should therefore, before suspending forwarding of RTP stream A and replacing it by instead forwarding RTP stream B:
  • For speech
    • Replace the content of a few RTP packet payloads from RTP stream A with a few silence indication (SID) or discontinuous transmission (DTX) frames for the used codec
  • For video
    • Take assistance from the sender of RTP stream B, asking for a decoder refresh point by sending RTCP FIR to that RTP stream B sender
    • Continue forwarding RTP stream A while monitoring RTP stream B for decoder refresh points
    • From the point where a decoder refresh point is received in RTP stream A, suspend forwarding of RTP stream A and replace it by forwarding RTP stream B
Up

S.7  BFCPp. 421

S.7.1  Generalp. 421

BFCP with TCP transport according to RFC 4582 RFC 4583 shall be supported. An MSMTSI client in terminal shall be capable of indicating to the user when it is granted a floor, when a floor request is rejected, and when a floor grant is revoked. The details of such indication are left for MSMTSI client implementation. If the MSMTSI client in terminal supports floor control of more than a single video, it shall be able to make such indications separately for each supported floor.
An MSMTSI client may support functionality for moderated BFCP floor handling, involving a floor chair.
An MSMTSI MRF should silently ignore and discard any received video that is currently under active floor control, but where another MSMTSI or MTSI client than the one sending such received stream currently owns the floor.
Up

S.7.2  Floor controlled main videop. 421

An MSMTSI client shall support BFCP, TS 24.147 RFC 4582, to control the main video.
When BFCP is used to control the MSMTSI client main video, all MSMTSI clients are allowed to send video as long as no one owns that BFCP floor. Whenever any MSMTSI client owns the main video floor, only that MSMTSI client is allowed to send main video in the group video call, and the MSMTSI MRF forwards that video to all other participants. The MSMTSI MRF should continue to use any previously used video forwarding strategy towards the MSMTSI client in the terminal that owns the main video floor.
Up

S.7.3  Floor controlled screenshare videop. 421

If screeenshare video is supported by an MSMTSI client, BFCP TS 24.147 RFC 4582 to control the screenshare video shall also be supported.
If BFCP is not available to control the screenshare video, and considering that the MSMTSI client supports screenshare video as a separate video "m="-line, implicit screenshare floor control of that "m="-line shall be assumed. Such implicit floor control shall here be taken to mean that the MSMTSI client is allowed to start sending screenshare video at any point in time, whenever initiated by the user of the MSMTSI client. No explicit screenshare floor grant indication to the sending MSMTSI client is possible in this case. An MSMTSI client in the terminal using implicitly floor controlled screenshare video that begins receiving screenshare video after itself started sending, shall immediately stop sending screenshare video, since this shall be interpreted as the implicit screenshare floor grant being revoked.
Up

S.7.4  Implicit floor control for audiop. 422

An MSMTSI client in terminal is allowed to receive more audio streams than it is capable of decoding concurrently at a given time. In such case, the MSMTSI client in terminal shall have means for choosing which streams to prioritize and which ones to ignore. This selection can be made based on which streams are not in DTX mode. Media streams may also be prioritized based on the active level or volume of the audio stream. However, this requires decoding of the media from each stream to determine the loudest stream. The prioritized streams may further be spatially mixed for rendering.
Up

S.7.5  Floor control interworking with DTMF-capable MTSI clientsp. 422

If MTSI clients participate in the group video call, not supporting BFCP for the main video but having successfully negotiated use of DTMF with the MSMTSI MRF according to Annex G, the MSMTSI MRF may act as a signalling gateway between DTMF and BFCP main video floor control. It is then assumed that the MSMTSI MRF is configured with a DTMF sequence that can be used to request and release that BFCP floor, and that this DTMF sequence is somehow communicated to the MTSI client, but the details of that are out of scope for this specification.
If such MTSI client uses the designated DTMF sequence to request the main video floor, it shall be treated in the MSMTSI MRF as equivalent to receiving a BFCP request for the main video floor.
Lacking other possibilities to indicate main video floor grant status back to such DTMF-requesting MTSI client, the MSMTSI MRF should send its main video back to it as long as it owns the main video floor.
When the MTSI client owning the main video floor uses the DTMF sequence to release the main video floor, it shall be treated in the MSMTSI MRF as equivalent to receiving a BFCP release for the main video floor.
Up

S.8  Rate Adaptationp. 422

An MSMTSI client in the terminal should know which RTP streams that share a common channel resource (such as a radio bearer), and shall take this into account when performing per-stream rate adaptation. Per-stream adaptation is specified in clause 10. An MSMTSI MRF should, unless explicitly configured otherwise, assume during rate adaptation that all media streams of the same SDP media type (audio, video, etc) from a single MSMTSI client share a common channel resource. The sum of bitrates used for streams sharing a common channel resource shall be controlled such that they jointly do not exceed the estimated available channel resource. This applies to all MSMTSI clients both in the send direction and in the receive direction, providing rate adaptation information feedback (e.g. TMMBR or any rate control mechanism natively available to the used codec) to the sending party.
In situations where a MSMTSI client or MRF media sender that has the ability to send multiple media streams is faced with scarce network resources, insufficient to support maximum bitrate for all streams the sender is capable to send, it can be necessary for the sender to choose which streams to either entirely omit, temporarily stop, or degrade more than others. Degrading all streams evenly may not be the best approach, but consistently degrading one stream at a time may also not be preferable. The individual media receiver of those multiple streams is likely the one best equipped to decide which streams are most interesting to receive in a specific communication scenario, but some general guidance can be given. It is recommended that the main audio stream is considered most important, except for special use cases that do not require use of audio. Screenshare video is likely next most important, after which comes main video and BFCP. When using simulcast, main video simulcast using different codecs is likely more important than video thumbnail simulcast. Video thumbnails are likely least important in most use cases.
Up

Up   Top   ToC