Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generated SDP not accepted in Chrome #4

Closed
DamonOehlman opened this issue Oct 18, 2013 · 7 comments
Closed

Generated SDP not accepted in Chrome #4

DamonOehlman opened this issue Oct 18, 2013 · 7 comments

Comments

@DamonOehlman
Copy link
Contributor

Just had a go at using the library, which is exactly what I was looking for (npm package control, browserify friendly, etc, etc). Unfortunately in early testing it has proven to have trouble with Chrome.

After hitting some problems, I did a simple test to compare some SDP input with the generated output of the module, by running the following:

transform.write(transform.parse(input));

The resulting output and corresponding input files are available in a branch I've created:

https://github.com/DamonOehlman/sdp-transform/tree/datafiles/test/data

Just wondering if you were looking to extend the SDP parsing and generating capabilities to work in browser environments, or whether I should be having a look at @legastero's sdp library instead?

Thanks heaps,
Damon.

@clux
Copy link
Owner

clux commented Oct 18, 2013

Hey, thanks for this feedback.

Yeah, sure, should not be hard to add grammar at this point. I'll try to add it later today.
Looks like it's just missing grammar for a=group, a=maxptime, a=iceoptions and a=ssrc and a=rtcp-mux.

I'll add your input as a test case. :]

@clux
Copy link
Owner

clux commented Oct 18, 2013

Think I've covered all the bases now, and found 2 small grammar bugs.
Bunch of extra support added to sdp-transform@0.3.0

Please reopen if you still have issues :)

@clux clux closed this as completed Oct 18, 2013
@DamonOehlman
Copy link
Contributor Author

Awesome - I'll check this out tonight :)

@DamonOehlman
Copy link
Contributor Author

I'm wondering if chrome's SDP parsing is in violation of the RFC. After reviewing your code I can see that you generate SDP in the order as defined by outerOrder, which matches the order as specified in the RFC4566. Additionally, reading the spec I see that ordering of the fields is important:

Some lines in each description are REQUIRED and some are OPTIONAL,
but all MUST appear in exactly the order given here (the fixed order
greatly enhances error detection and allows for a simple parser).
OPTIONAL items are marked with a "*".

Interestingly, chrome (actually chromium) complains with the following error when trying to parse the sdp-transform generated SDP as input:

[6:6:1019/154128:ERROR:rtc_peer_connection_handler.cc(419)] Failed to parse SessionDescription. a=msid-semantic: WMS mINCZktUQbGayYwubbgUTOh8SknO7HDlnqKq Expect line: t=

ccing @silviapfeiffer in on this as maybe she can raise this in the various W3C groups, and bring it to the attention of the various dev teams...

Thanks again for adding support for the other required fields so quickly.

@DamonOehlman
Copy link
Contributor Author

One thing I will check before we go too much further though is against a later chrome/chromium version. Just checked the version complaining. It's version 28 which is quite old...

@DamonOehlman
Copy link
Contributor Author

Yes, still an issue in Chrome stable (30):

[7:7:1019/160446:ERROR:rtc_peer_connection_handler.cc(431)] Failed to parse SessionDescription. a=msid-semantic: WMS k2ImX1QqsbHHqsfIKbhhwJB6Lgh0glyg9DCW Expect line: t=

and also the dev channel (32):

[7:7:1019/161033:ERROR:rtc_peer_connection_handler.cc(431)] Failed to parse SessionDescription. a=msid-semantic: WMS 56cXpPKLBlRb0uB0oTHsk5NQ88iWTjhF3B3s Expect line: t=

@silviapfeiffer
Copy link

Hmm apparently webrtc still follows an older rfc fro SDP: http://dev.w3.org/2011/webrtc/editor/webrtc.html#bib-SDP RFC3264 (see also this discussion on the standards list: http://lists.w3.org/Archives/Public/public-webrtc/2013Jul/0265.html ).

So best to check http://www.ietf.org/rfc/rfc3264.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants