Not able to receive WebRTC calls on Chromedriver 78

345 views
Skip to first unread message

Chaitra Shetty

unread,
Nov 3, 2019, 2:41:04 AM11/3/19
to discuss-webrtc
After upgrading to Chrome v78.0.3904.70  and ChromeDriver 78.0.3904.70 browser is unable to receive WebRTC calls. This used to work fine with older chromedriver versions.I am using an extension for these WebRTC calls
 At first, after upgrading to Chrome v78.0.3904.70  and ChromeDriver 78.0.3904.70, I had error loading the extension. Repackage the extension to CRX3 fixed the issue but now, the incoming WebRTC calls are failing with "WebPhoneVerto: call ended with cause: INCOMPATIBLE_DESTINATION" error. This is not an issue when using Chrome browser. Just an issue when using selenium chromedriver. 

Chrome driver team asked me to post the issue here.

Here is the function where I am setting the chrome profile to launch chrome using chromediver 78:

public ChromeOptions chromeProfile()
   {  
   Path path = FileSystems.getDefault().getPath(FileLocator.BROWSER_DOWNLOAD_DIR.getLocation());
   logger.info("Setting browser download path to "+path.toAbsolutePath().toString());
   
   HashMap<String, Object> chromePreferences = new HashMap<String, Object>();
   chromePreferences.put("profile.default_content_settings.popups", 0);
   chromePreferences.put("download.prompt_for_download", false);
   chromePreferences.put("download.default_directory", path.toAbsolutePath().toString()); 
   if(enableMicrophone)
   chromePreferences.put("hardware.audio_capture_allowed_urls", new String[]{"https://xxx.com", "https://xxx1.com"});
   
   ChromeOptions options = new ChromeOptions();
   if(installExtension)
   options.addExtensions(new File(FileLocator.CHROME_EXTENSION_PATH.getLocation().replace("$STACK",chromeExtensionStack)));
   
   
   if(mobileEmulationDevice != null && !mobileEmulationDevice.isEmpty())
   {
   Map<String, String> mobileEmulation = new HashMap<String, String>();
   mobileEmulation.put("deviceName", mobileEmulationDevice);
   options.setExperimentalOption("mobileEmulation", mobileEmulation);
   }

   options.setExperimentalOption("prefs", chromePreferences);
   if(enableMicrophone)
   {
   options.addArguments("use-fake-ui-for-media-stream");
   options.addArguments("use-fake-device-for-media-stream");
   options.addArguments("allow-file-access-from-files");
   Path audioFilePath = FileSystems.getDefault().getPath(FileLocator.SAMPLE_AUDIO_FILES_DIR.getLocation()+TestContext.TEST_PROPERTIES.get("audioFileName"));
   logger.info("Setting browser download path to "+audioFilePath.toAbsolutePath().toString());
   options.addArguments("use-file-for-fake-audio-capture="+audioFilePath.toAbsolutePath().toString());
   }
   return options;
}

Here is the pluging logs when trying to connect to incoming call:

a=candidate:2488699228 1 udp 2113939711 XXX.local 59493 typ host generation 0 network-cost 999
a=ice-ufrag:t+ao
a=ice-pwd:XXX
a=ice-options:trickle
a=fingerprint:XXX
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendrecv
a=msid:XXXX
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1; stereo=1; sprop-stereo=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:1095883829 cname:XXX
a=ssrc:1095883829 msid:XXX
a=ssrc:1095883829 mslabel:XXX
a=ssrc:1095883829 label:XXX

console.js:35 Dialog 17f579f6-edc7-ec8a-94ec-27a165bd3674: state change from new to requesting
console.js:35 WebPhoneVerto: dialog state changed from new to requesting - 17f579f6-edc7-ec8a-94ec-27a165bd3674
console.js:35 Dialog 17f579f6-edc7-ec8a-94ec-27a165bd3674: state change from requesting to trying
console.js:35 WebPhoneVerto: dialog state changed from requesting to trying - 17f579f6-edc7-ec8a-94ec-27a165bd3674
console.js:35 Dialog 17f579f6-edc7-ec8a-94ec-27a165bd3674: state change from trying to hangup
console.js:35 WebPhoneVerto: dialog state changed from trying to hangup - 17f579f6-edc7-ec8a-94ec-27a165bd3674
console.js:35 WebPhoneVerto: call ended with cause: INCOMPATIBLE_DESTINATION
console.js:35 Dialog 17f579f6-edc7-ec8a-94ec-27a165bd3674: state change from hangup to destroy
console.js:35 WebPhoneVerto: dialog state changed from hangup to destroy - 17f579f6-edc7-ec8a-94ec-27a165bd3674

Thanks

Chaitra Shetty

unread,
Nov 5, 2019, 12:22:44 PM11/5/19
to discuss-webrtc

Can anyone help with this please? Chrome driver team asked me to post the issue here.

Philipp Hancke

unread,
Nov 5, 2019, 12:34:20 PM11/5/19
to discuss...@googlegroups.com
have you tried getting a webrtc-internals dump (which might be somewhat tricky in selenium) or added console.log statements to all webrtc-related calls in jquery.FSRTC.js?

Am Di., 5. Nov. 2019 um 18:22 Uhr schrieb Chaitra Shetty <csshe...@gmail.com>:

Can anyone help with this please? Chrome driver team asked me to post the issue here.

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/5b1e7902-ce84-467c-abcd-ee42f215347a%40googlegroups.com.

Chaitra Shetty

unread,
Nov 7, 2019, 1:52:09 PM11/7/19
to discuss-webrtc
Philipp Hancke sent you the webrtc-internals dump


On Tuesday, November 5, 2019 at 9:34:20 AM UTC-8, Philipp Hancke wrote:
have you tried getting a webrtc-internals dump (which might be somewhat tricky in selenium) or added console.log statements to all webrtc-related calls in jquery.FSRTC.js?

Am Di., 5. Nov. 2019 um 18:22 Uhr schrieb Chaitra Shetty <csshe...@gmail.com>:

Can anyone help with this please? Chrome driver team asked me to post the issue here.

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss...@googlegroups.com.

Chaitra Shetty

unread,
Nov 7, 2019, 3:55:51 PM11/7/19
to discuss-webrtc
Thank You Philipp for helping with this issue!

Fix was to launch chromedriver with following arguments:
path/to/chrome --disable-field-trial-config --disable-features=WebRtcHideLocalIpsWithMdns 
Reply all
Reply to author
Forward
0 new messages