webrtc error with sdp?

151 views
Skip to first unread message

brian....@bdkconsulting.com

unread,
Aug 29, 2018, 5:14:46 PM8/29/18
to meetecho-janus
I would appreciate a little guidance as to how to debug sdp errors.

I am using a variant of streaming and it seems to work fine with a recent chrome version on a PC.

I try to access it using my iphone (ios11.4.1) with both chrome and safari.  I get two different kinds of errors.

On iphone/chrome the isWebrtcSupported() fails.  Is this supposed to work?

On iphone/safari I get WebRTC Error... {} which (to my unsophisticated eye) looks like an empty error message processing the SDP offer.

I am using 1-1-nat with the 34.x.y.z being the public IP address.  Can someone shed light on what I should be looking for in the sdp offer that might be amiss?  It would help if I had a mac to debug this since I havent yet found an effective way to walk through javascript in emulation.  Do I remember correctly that someone here was doing some work to facilitate this kind of debugging?

This if from an rtsp stream so I am pretty sure it is a H.264 video stream.  I only have ports 12250-12750 open for UDP traffic (which is consistent with the offers below) and I am not sure if that can cause a problem.

thanks
-brian

ps.  I hope this size fragment is considered ok to post directly....it grew when I split (by hand) at all the newlines!

   "jsep": {
      "type": "offer",
      "sdp": "v=0\r\n
o=- 1535575175935947 1 IN IP4 34.217.60.20\r\n
s=Mountpoint 6209044225510126\r\n
t=0 0\r\n
a=group:BUNDLE audio video\r\n
a=msid-semantic: WMS janus\r\n
m=audio 9 UDP/TLS/RTP/SAVPF 97\r\n
c=IN IP4 34.217.60.20\r\n
a=sendonly\r\n
a=mid:audio\r\n
a=rtcp-mux\r\n
a=ice-ufrag:k1gF\r\n
a=ice-pwd:JxKd8w8imbzxEYGK9rdpBa\r\n
a=ice-options:trickle\r\n
a=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38\r\n
a=setup:actpass\r\n
a=rtpmap:97 PCMA/8000\r\n
a=fmtp:97 \r\n
a=ssrc:2476310728 cname:janusaudio\r\n
a=ssrc:2476310728 msid:janus janusa0\r\n
a=ssrc:2476310728 mslabel:janus\r\n
a=ssrc:2476310728 label:janusa0\r\n
a=candidate:1 1 udp 2013266431 34.217.60.20 12415 typ host\r\n
a=candidate:2 1 udp 2013266430 34.217.60.20 12634 typ host\r\n
a=candidate:3 1 udp 2013266429 34.217.60.20 12391 typ host\r\n
a=candidate:4 1 udp 2013266428 34.217.60.20 12555 typ host\r\n
a=end-of-candidates\r\n
m=video 9 UDP/TLS/RTP/SAVPF 96\r\n
c=IN IP4 34.217.60.20\r\n
a=sendonly\r\n
a=mid:video\r\n
a=rtcp-mux\r\n
a=ice-ufrag:k1gF\r\n
a=ice-pwd:JxKd8w8imbzxEYGK9rdpBa\r\n
a=ice-options:trickle\r\n
a=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38\r\n
a=setup:actpass\r\n
a=rtpmap:96 H264/90000\r\n
a=fmtp:96 packetization-mode=1;profile-level-id=4D001E;sprop-parameter-sets=Z00AHp2oKA9puAgICBA=,aO48gA==\r\n
a=rtcp-fb:96 nack\r\n
a=rtcp-fb:96 nack pli\r\n
a=rtcp-fb:96 goog-remb\r\n
a=ssrc:1638045096 cname:janusvideo\r\n
a=ssrc:1638045096 msid:janus janusv0\r\n
a=ssrc:1638045096 mslabel:janus\r\n
a=ssrc:1638045096 label:janusv0\r\n
a=candidate:1 1 udp 2013266431 34.217.60.20 12415 typ host\r\n
a=candidate:2 1 udp 2013266430 34.217.60.20 12634 typ host\r\n
a=candidate:3 1 udp 2013266429 34.217.60.20 12391 typ host\r\n
a=candidate:4 1 udp 2013266428 34.217.60.20 12555 typ host\r\n
a=end-of-candidates\r\n"
   }

Steve Hardt

unread,
Aug 29, 2018, 5:34:30 PM8/29/18
to meetecho-janus
Chrome on IOS does not support WebRTC, only Safari supports it.

IOS also is finicky on the profile/level and what I am seeing in your SDP does not look familiar so you may want to check it.

I had issues with Safari on the IPhone. I would only get audio so their may be an issue with the IPhone, the IPad works fine. On the IPhone I had to use HLS. Apple is not following the standard for WebRTC and I think that is what is causing issues and Apple does not allow other browsers such as Chrome to use WebRTC at this time.

brian....@bdkconsulting.com

unread,
Sep 4, 2018, 11:59:23 PM9/4/18
to meetecho-janus
Thanks for the info re: Chrome on IOS.  While I am not in a good position to debug the Safari/IOS problem I do find the same error message:

WebRTC error...{}

using Chrome on Windows 7.

Below is the sdp and streaming.createAnswer triggers the error clause with:
code: 15
message: "Failed to set remote offer sdp: Failed to set remote video description send parameters."
name: "InvalidAccessError"

(Not sure why JSON.stringify() cannot stringify that object, but....

I am not quite sure where to go from here?

thanks
-brian


My sdp is:
sdp: "v=0
↵o=- 1536119198698341 1 IN IP4 52.33.68.168
↵s=Mountpoint 2795358934971573
↵t=0 0
↵a=group:BUNDLE audio video
↵a=msid-semantic: WMS janus
↵m=audio 9 UDP/TLS/RTP/SAVPF 97
↵c=IN IP4 52.33.68.168
↵a=sendonly
↵a=mid:audio
↵a=rtcp-mux
↵a=ice-ufrag:sy/t
↵a=ice-pwd:eohFOaRgPYiAo+Onipz93e
↵a=ice-options:trickle
↵a=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38
↵a=setup:actpass
↵a=rtpmap:97 PCMA/8000
↵a=fmtp:97 
↵a=ssrc:1063350027 cname:janusaudio
↵a=ssrc:1063350027 msid:janus janusa0
↵a=ssrc:1063350027 mslabel:janus
↵a=ssrc:1063350027 label:janusa0
↵a=candidate:1 1 udp 2013266431 52.33.68.168 12594 typ host
↵a=candidate:2 1 udp 2013266430 52.33.68.168 12530 typ host
↵a=candidate:3 1 udp 2013266429 52.33.68.168 12474 typ host
↵a=candidate:4 1 udp 2013266428 52.33.68.168 12333 typ host
↵a=candidate:5 1 udp 2013266427 52.33.68.168 12595 typ host
↵a=candidate:6 1 udp 2013266426 52.33.68.168 12465 typ host
↵a=candidate:7 1 udp 2013266425 52.33.68.168 12515 typ host
↵a=candidate:8 1 udp 2013266424 52.33.68.168 12498 typ host
↵a=candidate:9 1 udp 2013266423 52.33.68.168 12708 typ host
↵a=candidate:10 1 udp 2013266422 52.33.68.168 12646 typ host
↵a=candidate:11 1 udp 2013266421 52.33.68.168 12418 typ host
↵a=candidate:12 1 udp 2013266420 52.33.68.168 12338 typ host
↵a=candidate:13 1 udp 2013266419 52.33.68.168 12295 typ host
↵a=candidate:14 1 udp 2013266418 52.33.68.168 12480 typ host
↵a=candidate:15 1 udp 2013266417 52.33.68.168 12441 typ host
↵a=candidate:16 1 udp 2013266416 52.33.68.168 12605 typ host
↵a=candidate:17 1 udp 2013266415 52.33.68.168 12362 typ host
↵a=candidate:18 1 udp 2013266414 52.33.68.168 12417 typ host
↵a=candidate:19 1 udp 2013266413 52.33.68.168 12740 typ host
↵a=candidate:20 1 udp 2013266412 52.33.68.168 12725 typ host
↵a=end-of-candidates
↵m=video 9 UDP/TLS/RTP/SAVPF 96
↵c=IN IP4 52.33.68.168
↵a=sendonly
↵a=mid:video
↵a=rtcp-mux
↵a=ice-ufrag:sy/t
↵a=ice-pwd:eohFOaRgPYiAo+Onipz93e
↵a=ice-options:trickle
↵a=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38
↵a=setup:actpass
↵a=rtpmap:96 H264/90000
↵a=fmtp:96 packetization-mode=1;profile-level-id=4D001E;sprop-parameter-sets=Z00AHp2oKA9puAgICBA=,aO48gA==
↵a=rtcp-fb:96 nack
↵a=rtcp-fb:96 nack pli
↵a=rtcp-fb:96 goog-remb
↵a=ssrc:4122442395 cname:janusvideo
↵a=ssrc:4122442395 msid:janus janusv0
↵a=ssrc:4122442395 mslabel:janus
↵a=ssrc:4122442395 label:janusv0
↵a=candidate:1 1 udp 2013266431 52.33.68.168 12594 typ host
↵a=candidate:2 1 udp 2013266430 52.33.68.168 12530 typ host
↵a=candidate:3 1 udp 2013266429 52.33.68.168 12474 typ host
↵a=candidate:4 1 udp 2013266428 52.33.68.168 12333 typ host
↵a=candidate:5 1 udp 2013266427 52.33.68.168 12595 typ host
↵a=candidate:6 1 udp 2013266426 52.33.68.168 12465 typ host
↵a=candidate:7 1 udp 2013266425 52.33.68.168 12515 typ host
↵a=candidate:8 1 udp 2013266424 52.33.68.168 12498 typ host
↵a=candidate:9 1 udp 2013266423 52.33.68.168 12708 typ host
↵a=candidate:10 1 udp 2013266422 52.33.68.168 12646 typ host
↵a=candidate:11 1 udp 2013266421 52.33.68.168 12418 typ host
↵a=candidate:12 1 udp 2013266420 52.33.68.168 12338 typ host
↵a=candidate:13 1 udp 2013266419 52.33.68.168 12295 typ host
↵a=candidate:14 1 udp 2013266418 52.33.68.168 12480 typ host
↵a=candidate:15 1 udp 2013266417 52.33.68.168 12441 typ host
↵a=candidate:16 1 udp 2013266416 52.33.68.168 12605 typ host
↵a=candidate:17 1 udp 2013266415 52.33.68.168 12362 typ host
↵a=candidate:18 1 udp 2013266414 52.33.68.168 12417 typ host
↵a=candidate:19 1 udp 2013266413 52.33.68.168 12740 typ host
↵a=candidate:20 1 udp 2013266412 52.33.68.168 12725 typ host
↵a=end-of-candidates
↵"
type: "offer"
Reply all
Reply to author
Forward
0 new messages