Re: [rtcweb] Requesting "SDP or not SDP" debate to be re-opened

Bossiel thioriguel <> Fri, 21 June 2013 09:40 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 4FBB021E80BA for <>; Fri, 21 Jun 2013 02:40:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id BzhvvE6EWQqP for <>; Fri, 21 Jun 2013 02:40:17 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 8890511E8171 for <>; Fri, 21 Jun 2013 02:40:07 -0700 (PDT)
Received: from [] by with NNFMP; 21 Jun 2013 09:40:03 -0000
Received: from [] by with NNFMP; 21 Jun 2013 09:40:01 -0000
Received: from [] by with NNFMP; 21 Jun 2013 09:40:01 -0000
X-Yahoo-Newman-Property: ymail-3
Received: (qmail 43390 invoked by uid 60001); 21 Jun 2013 09:40:00 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=s1024; t=1371807600; bh=TqYwFZ1zXluEgqAjKb9u8gWrQRBJ67ZErJor0rekRlk=; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=RO0ho5P5QDvhDxNcA4FlOBnxEC+HCcioahfgX7lLjnhjTc16gmeaAHpEU9MNfpwpw3FclcnIoL4ZTdmgE/uWB4ioKHDMSEt+SZp8BYmBi+47vWvK3t11r2RFGyePYDx/6DWrhOEgQwjIFDZEPg0gekivBF++UiQpgqPdGiThhSA=
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024;; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=RtdrpwatDjvPqDSOmCqiUYZrFICCI2KYdRw+hk6FdcyPyv39j16dS63aI6FgECZwxtxvUxsr3b4KUW6zpFxoskcLoSjmE/r3DV3pEDgxk6IGr72tHcYM8HR5PCU0DhzqKSuJ6sByeh2romTpA25+blYSSDnztffgA4yge/AFlL4=;
X-YMail-OSG: rlMLxjkVM1lykAkCRLhOkXEC8fAMvVKfkQ8NB8SLEVqro_K c8lBQKPTvT3FNzl1o2H2BN75UNZ7OvBzxHweo.0CNXNZmVp8lqm1PqlEqVrL pRQ0xAGEPTtw0onDdHPRxTi_wnbUW2T16FlpQLN_A89c86G2zP8F3JRD6X2N NL9AdoLvjFhqdJ0cIZJYZYCPV7lYA.7USnGsEP7kAL55lZ2Mg49lROGkIFvr mCbw8xVa_cs7ZerkO61gEq0179278MgR3bqzR8qxgCHzmzRhidQR1NL36vYO yt176IiSU.cGgNco79nWhF7URxFQkNYM8lrLWVFoFFGPsG0SnylxTKx_IYxu 6CwBiZZvmhD6cYwkGYc7GawL2ycJkrV7lIfpPmyQq61Go2HzGx7EThoKYxqq WzNlq5MCxOgKdIccQbxH2X.CZhjOVMtoW776nVBkbHXlb6VOeZ3eyz_NQ.oB A1E7w7MZ9HSrcIdrToXHAI_ZxL3xGYwPaE7J5AIPfA7v8aaLAmPG9403ABf6 Xyiw9RFlswutAjaWPHXgoGoDWpVT6kv.wSflmvNWsOjUfznq77ZZo3gzH2_p 1WunyAV58WT48q3vNC0VqF4VH1.n1.6.JCUgKbT_alz67Pj1S_tFtbKiYHkA lU4ALjYU5yiOzQrIwp1SToCjdvx9lYCL.lWcF358tSh8oW14TRmPTZJXyWrl CzexF63sLR_Vk7aa2DXy8V0nD18cNKfROOg--
Received: from [] by via HTTP; Fri, 21 Jun 2013 10:40:00 BST
X-Rocket-MIMEInfo: 002.001, SGVsbG8sCgpJJ20gcmVnaXN0ZXJlZCBvbiB0aGlzIGdyb3VwIHNpbmNlIHRoZSBiZWdpbm5pbmcgYnV0IHRoaXMgaXMgbXkgZmlyc3QgcG9zdCBvbiB0aGlzIHRocmVhZC4gU28sIEkgcHJlc2VudGUgbXlzZWxmOiBNYW1hZG91IERJT1AgYW5kIEknbSB3b3JraW5nIGZvciBEb3ViYW5nbyBUZWxlY29tIHdoZXJlIHdlJ3JlIGJ1aWxkaW5nIFNJUCBlbmRwb2ludHMsIGdhdGV3YXlzLCBUZWxlUHJlc2VuY2UvVGVsZW1lZGljaW5lIHN5c3RlbXMuLi4gYWxsIGZvY3VzZWQgb24gU0lQL0lNUy9MVEUvUkNTLWUgYW4BMAEBAQE-
X-Mailer: YahooMailWebService/
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <>
Message-ID: <>
Date: Fri, 21 Jun 2013 10:40:00 +0100
From: Bossiel thioriguel <>
To: "" <>
In-Reply-To: <>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="862858767-718295900-1371807600=:23131"
Cc: "" <>
Subject: Re: [rtcweb] Requesting "SDP or not SDP" debate to be re-opened
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: Bossiel thioriguel <>
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: Fri, 21 Jun 2013 09:40:24 -0000


I'm registered on this group since the beginning but this is my first post on this thread. So, I presente myself: Mamadou DIOP and I'm working for Doubango Telecom where we're building SIP endpoints, gateways, TelePresence/Telemedicine systems... all focused on SIP/IMS/LTE/RCS-e and open source.

What I'm talking about is not just feeling but something I've experienced.

Using the current WebRTC we have managed to *easily* build almost all kind of applications: click-to-call, SIP/IMS clients, gateways to PSTN, MCUs, Telemedicine systems...and haven't seen any major issue. It's true that it's not natural to "hack" a blob SDP to implement features like hold/resume, media update, early media ... but it works and there are demo applications showing it. If there is something more beautiful we just want to see it in action and test it.

Many participants here have said that what they want is something close to CU-RTC-WEB. Don't really know if they tried to build applications using it or not but in my case I have.
My reference:
First on Windows 8 but haven't gone far as there is no documentation to get started. Then, OSX and luckily there was a readme with two links for testing (only one work). You need to open 3 pages (1 master, 2 slaves) and check "send audio" on both slaves to header sound. Many javascript files and no documentation. It's said on these blogs that interop with SIP networks is easy but it's not my feeling ...I just want to see one :)

I don't really understand the issue with the O/A model. SDP or not SDP you'll always offer something and answer something. I'm I missing?

For the current WebRTC, Google open sourced their engine, produced drafts, a working implementation in chrome, a mailing-list to help developers, demo applications, documentation... we just want to see the same from any company asking to rewrite everything.

I'm not saying the current WebRTC implementation is perfect but I have seen my 14 year old nephew developing an audio/video chat for his homework :)


 De : Iñaki Baz Castillo <>
À : Emil Ivov <> 
Cc : "" <> 
Envoyé le : Vendredi 21 juin 2013 1h24
Objet : Re: [rtcweb] Requesting "SDP or not SDP" debate to be re-opened

2013/6/21 Emil Ivov <>:
> On 20.06.13, 23:49, Iñaki Baz Castillo wrote:
>> In JsSIP we are getting frustrated trying to implement the "hold" /
>> "unhold" feature because it requires SDP parsing and mangling. Sending
>> a re-INVITE with a modified SDP (now with a video track enabled) seems
>> to work (after lot of pain) but we still miss a reliable API to know
>> what the new SDP means. Instead we need to parse the SDP to detect
>> global (or per m=) line attributes like "a=inactive" or "a=sendonly"
>> etc etc. It's really painful.
> I am having a problem following what you are trying to achieve here. In
> JsSIP you seem to be going for a full SIP implementation in the browser. If
> this is true and if this WG decides to remove SDP from the API surface, then
> you would need to completely parse SDP in the JS and then convert it into
> API calls. Similarly, when creating offers and answers you would need to
> construct SDP all by yourself.

And we will do it very happily because then we will know what
*exactly* we are sending on-the-wire.

> So I am not sure why the SDP parsing in the current situation is so much of
> a blocker for your use case.

Because regardless I am a SIP-guy, I understand that the main mission
of WebRTC is to provide realtime communications *for* the WWW, and not
to enable a new interface for like-telephony-bussines.

Today I'm doing SIP. Tomorrow I may be doing
[[put_here_a_future_RTC_protocol_not_based_on_SDP]] and then I don't
want to be constrained by decisions made today that force any future
RTC protocol to deal with SDP O/A model.


>> BTW I don't know wheter you support PlanA, PlanB or NoPlan, but I did
>> a question (in this case about NoPlan) for which I got no response,
>> and honestly I would like to see it replied regardless the solution
>> uses PlanA, PlanB or NoPlan model:
> The other option would be indeed to do the same thing in JS. I believe this
> is JsSIP's use case. In that case however, regardless of whether you choose
> Plan A, Plan B, No Plan or CU-RTC-Web, you will inevitably be exposed to a
> fair amount of complexity, parsing and JS magic.
> You are, after all, building a SIP stack.

Yes, but JsSIP creates its own SIP messages to be sent in the wire, so
we have full control over *what* we create and send. Those SIP
messages are not provided by the WebRTC API. But for the SDP
component, JsSIP retreives a SDP blob string from the PC.

> In the above mail you also say:
>> Another example:
>> * I am a powerful SIP conference server which properly implements
>> WebRTC. I initiate a call to 5 users (running JS SIP app in their
>> browsers). The initial INVITE has SSRC/MSID fields in the SDP
>> identifying all the participants, am I right?
> No, with No Plan there are no SSRCs and MSIDs in the SDP that comes from the
> browser.


>> * Later, during the conference, I call to another 6th participant and
>> enter him into the conference, so I need to send a re-INVITE to every
>> participant with a modified version of the SDP (note that this is SIP
>> protocol, so I need to use SIP messages to carry the new info about
>> SSRC/MSID and so on).
> That's the thing. You don't need that. In Jitsi we do exactly this operation
> with no Offer/Answer signalling. RTP carries enough information to process
> streams and we use upper layer signalling (4575) for things such as mapping
> SSRCs to users and announcing current participant list.

That is much better than Plan A and Plan B.

BTW: What would happen in NoPlan if the remote (i.e. a SIP
gateway/endpoing) sends you a re-INVITE for "hold" purposes and you
pass the SDP to your PC? or you should not pass the SDP to your PC?
and if so, what about if the SDP contains updated ICE candidates due
to remote peer network mobility?

Thanks a lot for your response.

Iñaki Baz Castillo
rtcweb mailing list