[MMUSIC] Better way to not-really-offer constituent media descriptions

worley@ariadne.com (Dale R. Worley) Wed, 27 February 2013 21:57 UTC

Return-Path: <worley@shell01.TheWorld.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A7C0221F87B9 for <mmusic@ietfa.amsl.com>; Wed, 27 Feb 2013 13:57:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.159
X-Spam-Level:
X-Spam-Status: No, score=-2.159 tagged_above=-999 required=5 tests=[AWL=-0.379, BAYES_00=-2.599, J_CHICKENPOX_12=0.6, J_CHICKENPOX_15=0.6, RCVD_IN_DNSWL_LOW=-1, RCVD_IN_SORBS_WEB=0.619]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yGsW8lAC0fKz for <mmusic@ietfa.amsl.com>; Wed, 27 Feb 2013 13:57:53 -0800 (PST)
Received: from TheWorld.com (pcls6.std.com [192.74.137.146]) by ietfa.amsl.com (Postfix) with ESMTP id 9CB6B21F8751 for <mmusic@ietf.org>; Wed, 27 Feb 2013 13:57:44 -0800 (PST)
Received: from shell.TheWorld.com (root@shell01.theworld.com [192.74.137.71]) by TheWorld.com (8.14.5/8.14.5) with ESMTP id r1RLuuIF014601 for <mmusic@ietf.org>; Wed, 27 Feb 2013 16:56:58 -0500
Received: from shell01.TheWorld.com (localhost.theworld.com [127.0.0.1]) by shell.TheWorld.com (8.13.6/8.12.8) with ESMTP id r1RLutvr2744808 for <mmusic@ietf.org>; Wed, 27 Feb 2013 16:56:56 -0500 (EST)
Received: (from worley@localhost) by shell01.TheWorld.com (8.13.6/8.13.6/Submit) id r1RLut982750103; Wed, 27 Feb 2013 16:56:55 -0500 (EST)
Date: Wed, 27 Feb 2013 16:56:55 -0500
Message-Id: <201302272156.r1RLut982750103@shell01.TheWorld.com>
From: worley@ariadne.com
Sender: worley@ariadne.com
To: mmusic@ietf.org
Subject: [MMUSIC] Better way to not-really-offer constituent media descriptions
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmusic>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Feb 2013 21:57:53 -0000

This is a revision of how how constituent MDs are presented in the
offer in draft-worley-sdp-bundle.  Instead of offering them with a
non-zero port and null address (as if they were on-hold in the old
manner), offer them with a real port and address (but only provide ICE
candidates that are already known, and don't allocate a TURN relay).

(The idea that we can have the answerer suppress the constituent MDs
rather than the offerer is taken from
draft-ejzak-mmusic-bundle-alternatives-01.)

        o=- 2890844526 2890844526 IN IP4 host.example.com
        c=IN IP4 10.0.1.1

        a=group:KUMQUAT bundle con1 con2

        m=audio 10002 RTP/AVP 0 8 97
        c=IN IP4 0.0.0.0
        a=mid:con1
        a=rtcp-mux
        a=rtpmap:0 PCMU/8000
        a=rtpmap:8 PCMA/8000
        a=rtpmap:97 iLBC/8000
        a=candidate:0 1 UDP 2113601791 10.0.1.1 10002 typ host

        m=video 10004 RTP/AVP 31 32
        c=IN IP4 0.0.0.0
        a=mid:con2
        a=rtcp-mux
        a=rtpmap:31 H261/90000
        a=rtpmap:32 MPV/90000
        a=candidate:0 1 UDP 2113601791 10.0.1.1 10004 typ host

        m=audio 10000 RTP/AVP 127
        a=mid:bundle
        a=rtcp-mux
        a=rtpmap:127 kumquat
        a=candidate:0 1 UDP 2113601791 10.0.1.1 10000 typ host
        a=candidate:1 1 UDP 1694194431 198.51.100.32 51000 typ srflx \
            raddr 10.0.1.1 rport 10000

If the answerer understands bundling, the answer is as before, with a
non-zero port but a null address for the constituent MDs.  (I assume
that intermediate devices realize that a null address means that it
will see no media on that transport flow.)

           o=- 2890844526 2890844526 IN IP4 answer.example.com
           c=IN IP4 10.0.2.1

           a=group:KUMQUAT bundle con1 con2

           m=audio 9 RTP/AVP 0 8 97
           c=IN IP4 0.0.0.0
           a=mid:con1
           a=rtcp-mux
           a=rtpmap:0 PCMU/8000
           a=rtpmap:8 PCMA/8000
           a=rtpmap:97 iLBC/8000

           m=video 9 RTP/AVP 31 32
           c=IN IP4 0.0.0.0
           a=mid:con2
           a=rtcp-mux
           a=rtpmap:31 H261/90000
           a=rtpmap:32 MPV/90000

           m=audio 20000 RTP/AVP 127
           a=mid:bundle
           a=rtcp-mux
           a=rtpmap:127 kumquat
           a=candidate:0 1 UDP 2113601791 10.0.2.1 20000 typ host
           a=candidate:1 1 UDP 1694194431 198.51.100.35 51090 typ srflx \
               raddr 10.0.2.1 rport 20000

If the answerer does not understand bundling, since the offer includes
real transport addresses, there is no risk that answerer wil not see
the constituent MDs as being offered.  The answer now has real
transport address information for the constituent MDs, including full
ICE candidates.  But since the offer didn't include the full ICE
candidates, it's possible that media communications won't be
established.  The offerer will have to update its offer with complete
ICE information, which may require allocating more TURN relays.

Non-supporting answer:

           o=- 2890844526 2890844526 IN IP4 answer.example.com
           c=IN IP4 10.0.2.1

           m=audio 20000 RTP/AVP 0 8 97
           c=IN IP4 10.0.2.1
           a=rtcp-mux
           a=rtpmap:0 PCMU/8000
           a=rtpmap:8 PCMA/8000
           a=rtpmap:97 iLBC/8000
           a=candidate:0 1 UDP 2113601791 10.0.2.1 20000 typ host
           a=candidate:1 1 UDP 1694194431 198.51.100.35 51090 typ srflx \
               raddr 10.0.2.1 rport 20000

           m=audio 20002 RTP/AVP 31 32
           c=IN IP4 10.0.2.1
           a=rtcp-mux
           a=rtpmap:31 H261/90000
           a=rtpmap:32 MPV/90000
           a=candidate:0 1 UDP 2113601791 10.0.2.1 20002 typ host
           a=candidate:1 1 UDP 1694194431 198.51.100.35 51092 typ srflx \
               raddr 10.0.2.1 rport 20002

           m=audio 0 RTP/AVP 127

Updated offer, with further ICE candidates:

           o=- 2890844526 2890844527 IN IP4 host.example.com
           c=IN IP4 10.0.1.1

           m=audio 10000 RTP/AVP 0 8 97
           c=IN IP4 10.0.1.1
           a=mid:con1
           a=rtcp-mux
           a=rtpmap:0 PCMU/8000
           a=rtpmap:8 PCMA/8000
           a=rtpmap:97 iLBC/8000
           a=candidate:0 1 UDP 2113601791 10.0.1.1 10000 typ host
           a=candidate:1 1 UDP 1694194431 198.51.100.32 51000 typ srflx \
               raddr 10.0.1.1 rport 10000

           m=video 10002 RTP/AVP 31 32
           c=IN IP4 10.0.1.1
           a=mid:con2
           a=rtcp-mux
           a=rtpmap:31 H261/90000
           a=rtpmap:32 MPV/90000
           a=candidate:0 1 UDP 2113601791 10.0.1.1 10002 typ host
           a=candidate:1 1 UDP 1694194431 198.51.100.32 51002 typ srflx \
               raddr 10.0.1.1 rport 10002

           m=audio 0 RTP/AVP 127
           a=mid:bundle

The updated answer is the same as the first answer.

There also a fast-start alternative where the offerer provides full
ICE candidates for the constituent MDs.  This avoids the delay of
updating the offer when interoperating with a non-supporting answerer
and full ICE candidates are needed, but may require pre-allocating
additional TURN relays.

Dale