New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 615329 link

Starred by 5 users

Issue metadata

Status: Duplicate
Merged: issue webrtc:6023
Owner:
Last visit > 30 days ago
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

WebRTC: Called with SDP without ice-ufrag and ice-pwd when setting Local SDP for an answer

Reported by puneeth....@gmail.com, May 27 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36

Steps to reproduce the problem:
1. Make 1-1 audio Call
2. Accept the call
3. At terminating side upgrade the audio call to video call
4. After above method succeeded, downgrade the video call to audio call
5. After above method succeeded, again upgrade the audio call to video call
6. Now in terminating side after setting remote SDP and create answer, setting of Local SDP fails with error " Called with SDP without ice-ufrag and ice-pwd"
7. Observed that for video SDP there is no ice-ufrag and ice-pwd attribute

What is the expected behavior?
After triggering createAnswer the SDP should have ice-ufrag and ice-pwd for Video Line so that we can set local description

What went wrong?
Call upgrade from audio call to video call failed.

Please find the attached SDP sequence of both originating side and terminating side

Did this work before? No 

Chrome version: 50.0.2661.102  Channel: stable
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: Shockwave Flash 21.0 r0

I tested the scenario  in chrome 46 version and in 52 canary version , result is same
 
Originating_Side_Setting_SDP_Sequence.txt
19.4 KB View Download
Terminating_Side_Setting_SDP_Sequence.txt
11.9 KB View Download
Components: Blink>WebRTC
Cc: jansson@chromium.org
Owner: pthatcher@chromium.org
Status: Assigned (was: Unconfirmed)
Assigning to pthatcher, but I have a few questions for the original reporter:

a) Do you have a test page that we can use to go through steps 1-5? 
b) Mostly out of curiosity, what's the use case for the multiple "upgrade" and "downgrad" flows? 
a) Do you have a test page that we can use to go through steps 1-5?
Not yet in public domain, I'll try creating one in codepen or similar website
b) Mostly out of curiosity, what's the use case for the multiple "upgrade" and "downgrad" flows?
This is one of our sanity test cases, assuming user might be triggering multiple upgrade , downgrade based on network connectivity. I too do it when I'm skyping to my distant friend while there is a jitters in our network connection.
Hi,

Here is the test page link
https://puneethrai.github.io/samples/src/content/peerconnection/upgrade-downgrade/index.html

Although I couldn't reproduce the "Called with SDP without ice-ufrag and ice-pwd" since I need to further tune the software to collect all ice candidate and then send offer or answer.

But with the test page above Proceed with two scenario

Scenario 1) Uncheck "set video port 0 for Video line" option
Make call then do couple couple of upgrade and downgrade
In this scenario All works fine

Scenario 2) Check "set video port 0 for Video line" option
Make call then do upgrade -> downgrade -> upgrade (fails remote side no video).


The difference between these to scenario is when doing downgrade we will be adding video port 0 according to (https://tools.ietf.org/html/rfc4317#page-17) and then set local SDP. This might the clue, but I'll further improve the code logic of the test page so that I can reproduce exception case which I reported.

Comment 5 by guidou@chromium.org, Mar 13 2018

Components: -Blink>WebRTC Blink>WebRTC>Network
Mergedinto: webrtc:6023
Status: Duplicate (was: Assigned)
I believe this was fixed by https://webrtc-review.googlesource.com/c/src/+/46380. Wasn't able to reproduce in M66.

Sign in to add a comment