[rtcweb] SDP is not suitable for WebRTC

Iñaki Baz Castillo <ibc@aliax.net> Mon, 29 July 2013 17:34 UTC

Return-Path: <ibc@aliax.net>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 0588A21F86B2 for <rtcweb@ietfa.amsl.com>; Mon, 29 Jul 2013 10:34:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.237
X-Spam-Status: No, score=-2.237 tagged_above=-999 required=5 tests=[AWL=-0.160, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_15=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id 8xaqnblKwn5z for <rtcweb@ietfa.amsl.com>; Mon, 29 Jul 2013 10:33:55 -0700 (PDT)
Received: from mail-qc0-f169.google.com (mail-qc0-f169.google.com []) by ietfa.amsl.com (Postfix) with ESMTP id 1CEE221F880F for <rtcweb@ietf.org>; Mon, 29 Jul 2013 10:32:16 -0700 (PDT)
Received: by mail-qc0-f169.google.com with SMTP id c10so3035855qcz.14 for <rtcweb@ietf.org>; Mon, 29 Jul 2013 10:32:15 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type :content-transfer-encoding:x-gm-message-state; bh=EzyBKLS+8tEHLTWKtjxlGPmaAQuVOQ0RQpsqVmDKMl4=; b=YqVSneMlqI1I+2ksxDmoXvPc85LHvCvul9eY8Qp/xWswPhmLSbzn3tByXIKKBKgkdm Bt6T/r5m1yXYx7EVZKWT/e6NlsqmwGvcIxe8k4vr1OB0ra4E+APmvrDXAHwmGU1ThiAT gEpO1lLjcpeHephit7RVBs/vgR1IQ38kS7U4p9SDY/4v0a/RgoKSG8suKnYKedVvkF7H DVD6odv/axQQdAey1NRUUVt1OXlL2xhHQBTgojQa5AN1fXHdN0LMFvN6gg1rb6cDFm/z EaOjFCm9UpbBkiU2Wk0uB+Iz1+xVoxdN/LlktA4OPZWyVxsn7v9BN9kLHIQ6brA3GAOM l+XA==
X-Received: by with SMTP id kf5mr30773851qeb.9.1375119135445; Mon, 29 Jul 2013 10:32:15 -0700 (PDT)
MIME-Version: 1.0
Received: by with HTTP; Mon, 29 Jul 2013 10:31:55 -0700 (PDT)
From: Iñaki Baz Castillo <ibc@aliax.net>
Date: Mon, 29 Jul 2013 19:31:55 +0200
Message-ID: <CALiegfnU0U0juKu8y68K-pfkdf9NwQPxH=yM7vt=1EZEg=fxtA@mail.gmail.com>
To: "rtcweb@ietf.org" <rtcweb@ietf.org>, "public-webrtc@w3.org" <public-webrtc@w3.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Gm-Message-State: ALoCoQmMiqmKnsiIXT+aKd1kEjMvE1yTrRvUFmJcdsNl5+h1gSnJffsE+iSg+IC9v5quYXSPzt1G
Subject: [rtcweb] SDP is not suitable for WebRTC
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 29 Jul 2013 17:34:00 -0000

Hi, I initiated a thread [*] about Plan-Unified and multiple m lines,
but it was moved to MMUSIC maillist (don't know why since it is about
WebRTC applications design):


Sorry for the cross-posting but at this point I'm a bit lost and do
not know which is the appropriate group for my concern.

So my concern is:

- Web application with a SIP over WebSocket client running in the web.

- The web user is provided with a conference SIP URI in which there
are *already* 8 participants (5 of them emitting audio and video and 3
just emitting audio).

- The user calls, from his webphone, to the given URI to join the conference.

Let's imagine that the JS app knows the number of participant in the conference.
Let's imagine my browser have mic and webcam.


How can my browser join the conference without requiring SDP
renegotiation from the server and, at the same time, being able to
send audio/video and receive audio/video from others (different tracks
/ m=lines)?



I tell my browser to generate a SDP offer with:

  - 1 send/receive m=audio line.
  - 7 recvonly m=audio line.
  - 1 send/only m=video line.
  - 4 recvonly m=video line.

(Obviously this is a joke)


SDP seems to allow that the offer and the answer have different number
of m lines (I'm not aware of that but I believe that SDP can do
"everything"). So my browser generates a SDP offer with 1 m=audio line
and 1 m=video line, and the server replies with 8 m=audio lines and 4
m=video lines.

Will my browser understand such a SDP answer with more m lines than
its generated offer? I assume NOT.


My browser generates a SDP offer with 1 m=audio line and 1 m=video
line and the server too. And later the server sends re-INVITE with all
the m lines.

Oppss, SDP renegotiation...

SDP is bad for WebRTC. SDP is good for legacy symmetric communications
in which there is a single-track audio communication and, of course,
both endpoints emit audio. But SDP is bad for modern RTC protocols in
which an endpoint can emit tons of tracks to a single endpoint.

Do we really want this for WebRTC 1.0 ?

Iñaki Baz Castillo