Re: [rtcweb] JSEP-06: How to create the second offer where only the port numbers are changed?

Christer Holmberg <> Mon, 03 March 2014 14:35 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 9A6361A004A for <>; Mon, 3 Mar 2014 06:35:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.85
X-Spam-Status: No, score=-3.85 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_SE=0.35, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id fG659_piRyri for <>; Mon, 3 Mar 2014 06:35:38 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 7472E1A002B for <>; Mon, 3 Mar 2014 06:35:37 -0800 (PST)
X-AuditID: c1b4fb25-b7f038e000005d01-6f-53149335f259
Received: from (Unknown_Domain []) by (Symantec Mail Security) with SMTP id 6F.29.23809.53394135; Mon, 3 Mar 2014 15:35:33 +0100 (CET)
Received: from ([]) by ([]) with mapi id 14.02.0387.000; Mon, 3 Mar 2014 15:35:32 +0100
From: Christer Holmberg <>
To: Justin Uberti <>
Thread-Topic: JSEP-06: How to create the second offer where only the port numbers are changed?
Thread-Index: Ac8xgmHR3mZq1KQqQbqrDgGDhayzRAE1nSgAABypJXAABD1xgAACqajg///2VoD//+mmcA==
Date: Mon, 03 Mar 2014 14:35:31 +0000
Message-ID: <>
References: <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_7594FB04B1934943A5C02806D1A2204B1D1C6595ESESSMB209erics_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrMLMWRmVeSWpSXmKPExsUyM+Jvja7ZZJFggxvTWC22ThWyWPuvnd2B yWPBplKPJUt+MgUwRXHZpKTmZJalFunbJXBlPLhxhbHgxBTGikkbZzM1MJ6ZwNjFyMEhIWAi 0d5Q0MXICWSKSVy4t56ti5GLQ0jgEKPExU0HWSCcxYwSRyfPZAdpYBOwkOj+pw3SICKgJvFw 1i5WEJtZQF3izuJz7CC2sEC8xNebD5kgahIk1n2azgJhh0ls/7SBDcRmEVCRuLr1IZjNK+Ar sf/hY0aIXauYJRrvb2QGSXAKBEqsv3eZEcRmBLru+6k1TBDLxCVuPZnPBHG1gMSSPeeZIWxR iZeP/7FC2EoSjUueQB2XL7GpB+JQXgFBiZMzn7BMYBSdhWTULCRls5CUzQJ6mVlAU2L9Ln2I EkWJKd0P2SFsDYnWOXPZkcUXMLKvYmTPTczMSS832sQIjKiDW36r7mC8c07kEKM0B4uSOO+H t85BQgLpiSWp2ampBalF8UWlOanFhxiZODilGhgLl/2fcKj5ZNr/O40Pql3Ov1ItWe7wen7j 7Mi9rst2KXXM23Fou05b0swl6Rwcl38apqQHfdtlVloqfG3e9b88QZ98nzDt+ql+heUtt6h+ ZPOW6782+UkZNC/JCdH0rLhuqxtzx8nS8UvhwQsH/C8nVXC3zSiSP8YS/HpZv/jpiVLfvu/S XrxMiaU4I9FQi7moOBEAW6PvAXYCAAA=
Cc: "" <>
Subject: Re: [rtcweb] JSEP-06: How to create the second offer where only the port numbers are changed?
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 03 Mar 2014 14:35:40 -0000

Fair enough, maybe some things can change. And, BUNDLE does not forbid changing values, but it does say that the offerer should be careful when doing so.

Section 6.4.3:

“The Offerer MAY modify any SDP parameter in a BAS Offer.

   NOTE: It is important that the BAS Offer gets accepted by the
   Answerer, so the Offerer needs to consider the necessity to modify
   SDP parameters that could get the Answerer to reject the BAS Offer.
   Removing "m=" lines, or reducing the number of codecs, in the BAS
   Offer used for the is considered to have a low risk of being

So, I guess what should be avoided is adding of new m- lines, new codecs, or anything which may trigger the answer to reject the offer.



From: Justin Uberti []
Sent: 03 March 2014 16:13
To: Christer Holmberg
Subject: Re: JSEP-06: How to create the second offer where only the port numbers are changed?

But why is it a problem if other things change (e.g. a=remote-candidates is set)?

On Mon, Mar 3, 2014 at 5:48 AM, Christer Holmberg <<>> wrote:
As specified in BUNDLE, before the remote peer has indicated support of BUNDLE, all m- lines (including those within to a bundle group) must have unique port numbers.
Then, when the remote peer has indicated support of BUNDLE, a second offer (called the BAS offer) needs to be sent, in which the same port number is assigned to all m- lines within a bundle group.
My question is: how do I create the BAS offer? I don’t want to change anything – I just want to get an SDP with the BUNDLE port assigned to all m- lines. Is there a flag in createOffer() for that?
The implementation knows that any offers that are created after the BUNDLE answer should have the same port numbers. So, the app could push the createOffer button once it receives the answer if it wanted to ensure this happened immediately. Otherwise, there will be an onnegotiationneeded event once ICE completes, and the offer sent at that time will have the updated ports.
When I call createOffer(), can I be ensure that only the port values will change?

No. Why would this be necessary?

Because the only thing I want to do is to send a new offer, with the same port number in each m- line. I don’t want anything else to change.