|
1 <!DOCTYPE html> |
|
2 <html class="reftest-wait"> |
|
3 <!-- |
|
4 https://bugzilla.mozilla.org/show_bug.cgi?id=863929 |
|
5 --> |
|
6 <head> |
|
7 <meta charset="utf-8"> |
|
8 <title>Bug 863929</title> |
|
9 <script type="application/javascript"> |
|
10 var pc1, pc2, pc1_offer, pc2_answer; |
|
11 |
|
12 function onFailure(code) { |
|
13 stop(); |
|
14 } |
|
15 |
|
16 function stop() { |
|
17 pc1.close(); |
|
18 pc1 = null; |
|
19 pc2.close(); |
|
20 pc2 = null; |
|
21 document.documentElement.removeAttribute("class"); |
|
22 } |
|
23 |
|
24 function step1(offer) { |
|
25 pc1_offer = offer; |
|
26 pc1_offer.sdp = 'v=0\r\no=Mozilla-SIPUA 2208 0 IN IP4 0.0.0.0\r\ns=SIP Call\r\nt=0 0\r\na=ice-ufrag:96e36277\r\na=ice-pwd:4450d5a4a5f097855c16fa079893be18\r\na=fingerprint:sha-256 23:9A:2E:43:94:42:CF:46:68:FC:62:F9:F4:48:61:DB:2F:8C:C9:FF:6B:25:54:9D:41:09:EF:83:A8:19:FC:B6\r\nm=audio 56187 RTP/SAVPF 109 0 8 101\r\nc=IN IP4 77.9.79.167\r\na=rtpmap:109 opus/48000/2\r\na=ptime:20\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:101 telephone-event/8000\r\na=fmtp:101 0-15\r\na=sendrecv\r\na=candidate:0 1 UDP 2113601791 192.168.178.20 56187 typ host\r\na=candidate:1 1 UDP 1694236671 77.9.79.167 56187 typ srflx raddr 192.168.178.20 rport 56187\r\na=candidate:0 2 UDP 2113601790 192.168.178.20 52955 typ host\r\na=candidate:1 2 UDP 1694236670 77.9.79.167 52955 typ srflx raddr 192.168.178.20 rport 52955\r\nm=video 49929 RTP/SAVPF 120\r\nc=IN IP4 77.9.79.167\r\na=rtpmap:120 telephone-event/90000\r\na=recvonly\r\na=candidate:0 1 UDP 2113601791 192.168.178.20 49929 typ host\r\na=candidate:1 1 UDP 1694236671 77.9.79.167 49929 typ srflx raddr 192.168.178.20 rport 49929\r\na=candidate:0 2 UDP 2113601790 192.168.178.20 50769 typ host\r\na=candidate:1 2 UDP 1694236670 77.9.79.167 50769 typ srflx raddr 192.168.178.20 rport 50769\r\nm=application 54054 SCTP/DTLS 5000 \r\nc=IN IP4 77.9.79.167\r\na=fmtp:5000 protocol=webrtc-datachannel;streams=16\r\na=sendrecv\r\n'; |
|
27 pc1.setLocalDescription(pc1_offer, step2, onFailure); |
|
28 } |
|
29 |
|
30 function step2() { |
|
31 pc2.setRemoteDescription(pc1_offer, step3, onFailure); |
|
32 } |
|
33 |
|
34 function step3() { |
|
35 pc2.createAnswer(step4, onFailure); |
|
36 } |
|
37 |
|
38 function step4(answer) { |
|
39 pc2_answer = answer; |
|
40 pc2.setLocalDescription(pc2_answer, step5, onFailure); |
|
41 } |
|
42 |
|
43 function step5() { |
|
44 pc1.setRemoteDescription(pc2_answer, step6, onFailure); |
|
45 } |
|
46 |
|
47 function step6() { |
|
48 stop(); |
|
49 } |
|
50 |
|
51 function start() { |
|
52 pc1 = new mozRTCPeerConnection(); |
|
53 pc2 = new mozRTCPeerConnection(); |
|
54 navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) { |
|
55 pc1.addStream(s); |
|
56 navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) { |
|
57 pc2.addStream(s); |
|
58 pc1.createOffer(step1, onFailure); |
|
59 }, onFailure); |
|
60 }, onFailure); |
|
61 } |
|
62 </script> |
|
63 </head> |
|
64 |
|
65 <body onload="start()"> |
|
66 </html> |