WebRTC no DTLS Handshake from Firefox 47 or 48

Discuss how to use and promote Web standards with the Mozilla Gecko engine.
Post Reply
chrischarles2002
Posts: 1
Joined: August 18th, 2016, 12:17 pm

WebRTC no DTLS Handshake from Firefox 47 or 48

Post by chrischarles2002 »

We are using WebRTC via Doubango’s "webrtc2sip" with Asterisk for 2-way audio within browsers (no video necessary).

We are very successful using this very same architecture within Chrome, Opera and Safari.

However, when using Firefox 4x + (specifically testing with Firefox 47.x and 48.x), we are not able to establish consistent bi-direction audio connectivity.
By consistent, this means that we DO establish audio, one out of every 30 to 50 attempts.

By doing SIP traces and TCP / UDP dumps, we have been able to determine that the reason for this inconsistency (really it's more like non-functioning), is because Firefox does not send out the DTLS "Client Hello".

This messaging is consistent in other browsers. As mentioned before, only with Firefox does it seem to basically almost never work.

I guess my question would be: >>> Is if there is a way to force Firefox to send that DTLS Handshake, "Client Hello", so that audio can be established in a more consistent fashion?


Thanks to all in advance.
_____________________

(Below is what a successful audio stream connection looks like in Firefox [or any other browser] compared to an unsuccessful attempt):


SUCCESSFUL AUDIO CONNECTIVITY ESTABLISHED:

Code: Select all

No.	Time	Source	Destination	Protocol	Length	Info
4	0.029545	1.1.1.1	2.2.2.2	STUN	142	Binding Request user: aAD4bmYKmi0uDoW:85353940
12	0.085025	2.2.2.2	1.1.1.1	STUN	154	Binding Success Response MAPPED-ADDRESS: 1.1.1.1:61209 XOR-MAPPED-ADDRESS: 1.1.1.1:61209
13	0.085142	2.2.2.2	1.1.1.1	STUN	178	Binding Request user: 85353940:aAD4bmYKmi0uDoW
18	0.170843	1.1.1.1	2.2.2.2	STUN	142	Binding Request user: aAD4bmYKmi0uDoW:85353940
19	0.170997	2.2.2.2	1.1.1.1	STUN	154	Binding Success Response MAPPED-ADDRESS: 1.1.1.1:61209 XOR-MAPPED-ADDRESS: 1.1.1.1:61209
20	0.171064	2.2.2.2	1.1.1.1	STUN	178	Binding Request user: 85353940:aAD4bmYKmi0uDoW
21	0.199192	1.1.1.1	2.2.2.2	STUN	142	Binding Request user: aAD4bmYKmi0uDoW:85353940
22	0.199307	1.1.1.1	2.2.2.2	STUN	106	Binding Success Response XOR-MAPPED-ADDRESS: 3.3.3.3:56390
23	0.199401	2.2.2.2	1.1.1.1	STUN	154	Binding Success Response MAPPED-ADDRESS: 1.1.1.1:61209 XOR-MAPPED-ADDRESS: 1.1.1.1:61209
24	0.19945	2.2.2.2	1.1.1.1	STUN	178	Binding Request user: 85353940:aAD4bmYKmi0uDoW
25	0.200302	2.2.2.2	1.1.1.1	UDP	114	Source port: 56390  Destination port: 61209
27	0.280766	1.1.1.1	2.2.2.2	STUN	106	Binding Success Response XOR-MAPPED-ADDRESS: 3.3.3.3:56390
29	0.28145	1.1.1.1	2.2.2.2	STUN	142	Binding Request user: aAD4bmYKmi0uDoW:85353940
30	0.281636	2.2.2.2	1.1.1.1	STUN	154	Binding Success Response MAPPED-ADDRESS: 1.1.1.1:61209 XOR-MAPPED-ADDRESS: 1.1.1.1:61209
31	0.281673	1.1.1.1	2.2.2.2	STUN	106	Binding Success Response XOR-MAPPED-ADDRESS: 3.3.3.3:56390
32	0.281684	2.2.2.2	1.1.1.1	STUN	182	Binding Request user: 85353940:aAD4bmYKmi0uDoW
33	0.295628	1.1.1.1	2.2.2.2	STUN	106	Binding Success Response XOR-MAPPED-ADDRESS: 3.3.3.3:56390
34	0.296057	1.1.1.1	2.2.2.2	DTLSv1.2	215	Client Hello
35	0.302753	2.2.2.2	1.1.1.1	DTLSv1.0	161	Server Hello
36	0.302793	2.2.2.2	1.1.1.1	DTLSv1.0	795	Certificate (Fragment)
37	0.302854	2.2.2.2	1.1.1.1	DTLSv1.0	914	Certificate (Fragment)
38	0.302889	2.2.2.2	1.1.1.1	DTLSv1.0	914	Certificate (Fragment)
39	0.30292	2.2.2.2	1.1.1.1	DTLSv1.0	116	Certificate (Fragment)
40	0.30295	2.2.2.2	1.1.1.1	DTLSv1.0	79	Certificate (Reassembled)
41	0.302981	2.2.2.2	1.1.1.1	DTLSv1.0	394	Server Key Exchange
42	0.303011	2.2.2.2	1.1.1.1	DTLSv1.0	73	Certificate Request
43	0.303037	2.2.2.2	1.1.1.1	DTLSv1.0	67	Server Hello Done
44	0.336477	1.1.1.1	2.2.2.2	DTLSv1.0	619	Certificate, Client Key Exchange, Certificate Verify, Change Cipher Spec, Encrypted Handshake Message
45	0.407568	2.2.2.2	1.1.1.1	DTLSv1.0	56	Change Cipher Spec
46	0.40762	2.2.2.2	1.1.1.1	DTLSv1.0	119	Encrypted Handshake Message
47	0.411422	2.2.2.2	1.1.1.1	UDP	224	Source port: 56390  Destination port: 61209
UNSUCCESSFUL AUDIO CONNECTIVITY:

Code: Select all

No.	Time	Source	Destination	Protocol	Length	Info
35	1.677266	1.1.1.1	2.2.2.2	STUN	142	Binding Request user: LLz8JvlVhEuVgcc:bddf6fa3
41	1.701604	2.2.2.2	1.1.1.1	STUN	154	Binding Success Response MAPPED-ADDRESS: 1.1.1.1:52052 XOR-MAPPED-ADDRESS: 1.1.1.1:52052
42	1.7017	2.2.2.2	1.1.1.1	STUN	178	Binding Request user: bddf6fa3:LLz8JvlVhEuVgcc
44	1.714811	1.1.1.1	2.2.2.2	STUN	142	Binding Request user: LLz8JvlVhEuVgcc:bddf6fa3
45	1.714932	1.1.1.1	2.2.2.2	STUN	106	Binding Success Response XOR-MAPPED-ADDRESS: 3.3.3.3:43790
46	1.714973	2.2.2.2	1.1.1.1	STUN	154	Binding Success Response MAPPED-ADDRESS: 1.1.1.1:52052 XOR-MAPPED-ADDRESS: 1.1.1.1:52052
47	1.715021	2.2.2.2	1.1.1.1	STUN	178	Binding Request user: bddf6fa3:LLz8JvlVhEuVgcc
48	1.716517	2.2.2.2	1.1.1.1	UDP	114	Source port: 43790  Destination port: 52052
50	1.727207	1.1.1.1	2.2.2.2	STUN	106	Binding Success Response XOR-MAPPED-ADDRESS: 3.3.3.3:43790
52	4.040547	2.2.2.2	1.1.1.1	UDP	134	Source port: 43790  Destination port: 52052
55	4.047658	2.2.2.2	1.1.1.1	UDP	50	Source port: 43790  Destination port: 52052
User avatar
DanRaisch
Moderator
Posts: 127166
Joined: September 23rd, 2004, 8:57 pm
Location: Somewhere on the right coast

Re: WebRTC no DTLS Handshake from Firefox 47 or 48

Post by DanRaisch »

Moving to Web Development.
Post Reply