webrtc: the web way to communicate alan johnston

36
! !"#$%&' %)" !"# !*+ ,- &-../012*," 34*0 5-)06,-0 #$%&'()$%*+, -'($'++. 37*+* /,0)'12 3'%2.)124. !*6)108,-0 9017":61,+ 10 ;,< =-/16 >*0 ?/:0"@ #$.+124. 45 627',7.,% A-B"- =*#6 8+9:;< 3--- 62 =4)$% > <?@6?< /A.$B C!DE

Upload: trandien

Post on 09-Dec-2016

221 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: WebRTC: The Web Way to Communicate Alan Johnston

!"

!"#$%&'(%)"(!"#(!*+(,-(&-../012*,"(

34*0(5-)06,-0(#$%&'()$%*+,"-'($'++."

37*+*(

/,0)'12"3'%2.)124."!*6)108,-0(9017":61,+(10(;,<(=-/16(

>*0(?/:0"@(#$.+124."45"627',7.,%"

A-B"-(=*#6(

8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 2: WebRTC: The Web Way to Communicate Alan Johnston

8+9:;<";)24.$7B";4A$1%"

•! 8*72"$%"8+9:;<F"

•! G4H"24"I%+"8+9:;<"J"K++."<4''+1&4'"•! 8+9:;<"K++.L24LK++."@+,$7"

•! 8+9:;<"K.42414B%"7',"3-;M"627',7.,%"•! 8+9:;<"7',"2*+"-'2+.A.$%+"

•! 8*72N%"O+P2F"

D"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 3: WebRTC: The Web Way to Communicate Alan Johnston

8*72"$%"8+9:;<F"

C"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 4: WebRTC: The Web Way to Communicate Alan Johnston

:+7BL;$Q+"<4QQ)'$17&4'"4'"2*+"3'2+.'+2"•! ORK"SO+2H4.T"R4$1+"K.42414BU"

–! DVWW"•! :;K"S:+7BL&Q+";.7'A4.2"K.42414BU"

–! M$.%2")%+,"$'"DVVC"–! M$.%2"A)9B$%*+,"7%"3-;M":M<"$'"DVVX"–! 6&BB")%+,"24,7Y"54."R43K"7',"H$2*"63K"

•! 3;I"GZECE"[$,+4"2+B+A*4'Y"%27',7.,"–! DVVX"–! R4$1+"7',"[$,+4"14'5+.+'1$'("

•! 3-;M"63K"J"6+%%$4'"3'$&7&4'"K.42414B"–! DVVV"–! I'B+7%*+,"R43K".+[4B)&4'"4'"2+B+A*4'Y"–! R$,+4"7',".44Q"14'5+.+'1$'("–! K.42414B"H$,+BY")%+,"9Y"%+.[$1+"A.4[$,+.%"7',"$'"+'2+.A.$%+%"

•! :+7BL;$Q+"<4QQ)'$17&4'"4'"2*+"8+9"–! R4$1+"7',"[$,+4"4'"2*+"3'2+.'+2")%$'("9.4H%+."AB)($'%"–! C!!X"H$2*"\44(B+;7BT"$'%$,+"\Q7$B"–! 8+9:;<"%27',7.,$]+%"7',"+B$Q$'72+%"'++,"54."AB)($'"4.",4H'B47,"

E"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 5: WebRTC: The Web Way to Communicate Alan Johnston

33;"R4$1+"7',"R$,+4"4[+."8+9"K.40+12"

*^A_``%$2+%Z(44(B+Z14Q`%$2+`[[4HA.40+12"a"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 6: WebRTC: The Web Way to Communicate Alan Johnston

8*Y"'42"0)%2")%+"MB7%*F"

C:-6(

•! @4%2"9.4H%+.%"7B.+7,Y"*7[+"MB7%*"AB)($'"

•! 62.+7Q$'("7),$4"7',"[$,+4")%+%"MB7%*"24,7Y"

•! MB7%*"%)AA4.2%".+7BL&Q+"7),$4"7',"[$,+4"

•! 8+9",+[+B4A+.%"57Q$B$7."H$2*"MB7%*"

&-06(

•! MB7%*"$%"%$'(B+L[+',4."A.4A.$+27.Y"7',"1B4%+,"

•! =4%$'("Q7.T+2"%*7.+"7',"'42"7[7$B79B+"4'"$?6"

•! =$Q$2+,"14,+1"7',"+1*4"17'1+BB7&4'"4A&4'%"

•! K.4A.$+27.Y",+[+B4AQ+'2"244B%"

b"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 7: WebRTC: The Web Way to Communicate Alan Johnston

8+9:;<"$%"c6TYA+"$'"2*+"9.4H%+.d"

•! /11+%%"24"17Q+.7"7',"Q$1.4A*4'+"H$2*4)2"7"AB)($'"–!O4"Q4.+"MB7%*e""

•! /),$4`[$,+4",$.+12"5.4Q"9.4H%+."24"9.4H%+."•! 8*Y",4+%"$2"Q7^+.F"–!@+,$7"17'"%27Y"B417B"–!@49$B+",+[$1+%"+[+'2)7BBY",.4AA$'("[4$1+"1*7''+B"

7'YH7Y"–!\7Q+%"

8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE" X"

Page 8: WebRTC: The Web Way to Communicate Alan Johnston

;*+"f.4H%+.":;<"M)'1&4'"

•! O+H"f.4H%+.":+7BL;$Q+"<4QQ)'$17&4'"S:;<U"M)'1&4'"9)$B2L$'"24"9.4H%+.%"

•! <4'27$'%"–! /),$4"7',"[$,+4"14,+1%"–! /9$B$2Y"24"'+(4&72+"A++.L

24LA++."14''+1&4'%"–! -1*4"17'1+BB7&4'g"A71T+2"

B4%%"14'1+7B+Q+'2"•! 3'"<*.4Q+"7',"@4]$BB7"

24,7Yg"3'2+.'+2"-PAB4.+."7',"6757.$"+[+'2)7BBY"

G;;K"4."8+9641T+2%"

?'L2*+LH$.+"A.42414B%"

?'L2*+LH$.+"A.42414B%"

:;<"/K3%"?2*+."/K3%"

O7&[+"?6"6+.[$1+%"

8+9"6+.[+."

h7[761.$A2`G;@=`<66"

8+9"f.4H%+."

f.4H%+.":;<"

M)'1&4'"

S6$('7B$'(U"

S@+,$7"4."#727U"

W"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 9: WebRTC: The Web Way to Communicate Alan Johnston

64"8*72N%"2*+"f$("#+7BF"

•! ;*+"H+9"$%"'4H"7"AB7i4.Q"54.".+7BL&Q+"14QQ)'$17&4'%",+[+B4AQ+'2"

•! <4QQ)'$17&4'"H$BB"9+"%+1).+"S+'1.YA2+,U"9Y",+57)B2"

•! =72+%2"7),$4"7',"[$,+4"14,+1%"Q+7'%"%)A+.$4."j)7B$2Y"24"7'Y2*$'("+B%+"

•! 8+9:;<"A.4[$,+%"A++.L24LA++."Q+,$7g"+[+'"2*.4)(*"O/;%"

•! 627',7.,"2*72"17'"$'2+.4A+.72+"H$2*"+P$%&'("R43K"SR4$1+"4[+."3KUg"[$,+4"14'5+.+'1$'(g"7',"+[+'"K6;O"

8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE" k"

/BB"45"2*+%+"7.+"Q704."$''4[7&4'%"54."2*+"14QQ)'$17&4'%"$',)%2.Y"

Page 10: WebRTC: The Web Way to Communicate Alan Johnston

8+9:;<";.$7'(B+"

•! f42*"9.4H%+.%".)''$'("2*+"%7Q+"H+9"7AAB$17&4'"5.4Q"H+9"%+.[+."

•! K++."<4''+1&4'"Q+,$7"%+%%$4'"$%"+%279B$%*+,"9+2H++'"2*+Q"•! 6$('7B$'("$%"'42"%27',7.,$]+,g"14)B,"9+"63Kg"h$'(B+g"A.4A.$+27.YZ""I%+%"

G;;K"4."8+9641T+2%"54."2.7'%A4.2"

8+9"6+.[+."S/AAB$17&4'U"

f.4H%+."@"S:)''$'("G;@=b"/AAB$17&4'""

5.4Q"8+9"6+.[+.U"

f.4H%+."="S:)''$'("G;@=b"/AAB$17&4'""

5.4Q"8+9"6+.[+.U"

K++."<4''+1&4'"S/),$4g"R$,+4g"7',`4."#727U"

V"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 11: WebRTC: The Web Way to Communicate Alan Johnston

8+9:;<";.7A+]4$,"

•! 6$Q$B7."24"63K";.7A+]4$,"•! 8+9"6+.[+.%"14QQ)'$172+")%$'("63K"4."h$'(B+"•! I%+5)B"54."9)$B,$'("14'[+'&4'7B"2+B+A*4'Y"7AA%g"9)2")'1B+7."*4H"2*$%"

H4.T%"$'"2*+"H+9"H4.B,"

8+9"6+.[+."/"S/AAB$17&4'"/U"

K++."<4''+1&4'"S/),$4"7',`4."R$,+4U"

8+9"6+.[+."f"S/AAB$17&4'"fU"

63K""4."h$'(B+"

S/AAB$17&4'"/U" S/AAB$17&4'"fU"

f.4H%+."@"S:)''$'("G;@=b"/AAB$17&4'""

5.4Q"8+9"6+.[+."/U"

f.4H%+.";"S:)''$'("G;@=b"/AAB$17&4'""

5.4Q"8+9"6+.[+."fU"

D!"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 12: WebRTC: The Web Way to Communicate Alan Johnston

8+9:;<"7',"63K"

•! K++."<4''+1&4'"7AA+7.%"7%"7"%27',7.,":;K"Q+,$7"%+%%$4'g",+%1.$9+,"9Y"6#K"

•! 8+9"6+.[+."$QAB+Q+'2%"7"h6-K"Sh7[761.$A2"6+%%$4'"-%279B$%*Q+'2"K.42414BU"24"63K"%$('7B$'("(72+H7Y"

•! 63K"-',A4$'2"Q)%2"%)AA4.2":;<8-f"@+,$7"+P2+'%$4'%"S3<-"O/;";.7[+.%7Bg"6+1).+":;Kg"+21ZU"

8+9"6+.[+.""

63K"<B$+'2"K++."<4''+1&4'"S/),$4"7',`4."R$,+4U"

63K"6+.[+."63K"

63K"63K"

f.4H%+."@"

DD"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 13: WebRTC: The Web Way to Communicate Alan Johnston

8+9:;<"!"#$"63K"

8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE" DC"

8+9"6+.[+.""

6:;K"@+,$7"

63K"K.4PY`:+($%2.7."6+.[+.""

f.4H%+."@"S.)''$'("h7[761.$A2"63K"I/U"

f.4H%+.";"S.)''$'("h7[761.$A2"63K"I/U"

G;;K""SG;@=b`<66`h7[761.$A2U"

8+9641T+2"S63KU"

8+9641T+2"S63KU"

G;;K""SG;@=b`<66`h7[761.$A2U"

•! f.4H%+.".)'%"7"63K"I%+."/(+'2"9Y".)''$'("h7[761.$A2"5.4Q"8+9"6+.[+."•! 6+1).+":;K"Q+,$7"14''+1&4'")%+%"8+9:;<"/K3%"

•! #+27$B%"$'"l,.7mL$+iL%$A14.+LH+9%41T+2n"2*72",+o'+%"63K"2.7'%A4.2"4[+."8+9641T+2%"

Page 14: WebRTC: The Web Way to Communicate Alan Johnston

8+9:;<"7',"K6;O"

•! K++."<4''+1&4'"2+.Q$'72+%"4'"7"K6;O"\72+H7Y"•! /),$4"?'BY"•! <4)B,"7B%4")%+"63K"2.)'T$'("%)1*"7%"63K14''+12"DZD"

.+14QQ+',7&4'"

8+9"6+.[+."

f.4H%+."@" K6;O"\72+H7Y"

K++."<4''+1&4'"S/),$4U"K*4'+"

DE"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 15: WebRTC: The Web Way to Communicate Alan Johnston

8+9:;<"6)AA4.2"45"@)B&AB+"@+,$7"

•! @)B&AB+"%4).1+%"45"7),$4"7',"[$,+4"7.+"7%%)Q+,"7',"%)AA4.2+,"

•! /BB":;K"Q+,$7g"[4$1+"7',"[$,+4g"7',":;<K"5++,971T"Q+%%7(+%"7.+"Q)B&AB+P+,"4[+."2*+"%7Q+"I#K"A4.2"7',"7,,.+%%"

Da"

62+.+4"/),$4"

f.4H%+."@"4'"@49$B+"

f.4H%+."=""""4'"=7A24A"

M.4'2"<7Q+.7"R$,+4"

:+7."<7Q+.7"R$,+4"

@$1.4A*4'+"/),$4"

/AAB$17&4'"6*7.$'("R$,+4"

8+9<7Q"R$,+4"

@$1.4A*4'+"/),$4"

/AAB$17&4'"6*7.$'("R$,+4"

M.4'2"<7Q+.7"R$,+4"

:+7."<7Q+.7"R$,+4"

8+9<7Q"R$,+4"

."@"

62+.+4"/),$4"

8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 16: WebRTC: The Web Way to Communicate Alan Johnston

G4H"24"I%+"8+9:;<"

Db"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 17: WebRTC: The Web Way to Communicate Alan Johnston

G4H"24")%+"8+9:;<"

6+2)A"K++."<4''+1&4'"

?927$'"=417B"@+,$7"

<B4%+"<4''+1&4'"

/^71*"@+,$7"4."#727"

/,,"Q4.+"Q+,$7"

/BB"Q+,$7"7,,+,"

K++."<4''+1&4'"+%279B$%*+,"

/^71*"Q4.+"Q+,$7"4.",727"

-$2*+."9.4H%+."1B4%+%"2*+"14''+1&4'"

DX"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

/"5+H"B$'+%"45"h7[761.$A2"$%"7BB"2*72"$%"'++,+,e""

getUserMedia()

RTCPeerConnection()"

addStream() createOffer() createAnswer()

Page 18: WebRTC: The Web Way to Communicate Alan Johnston

8+9:;<"K++.L24LK++."@+,$7"

DW"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 19: WebRTC: The Web Way to Communicate Alan Johnston

@+,$7"MB4H%"$'"8+9:;<"

Dk"

8+9"6+.[+."

3'2+.'+2"

:4)2+."

f.4H%+."="

G4Q+"8$M$":4)2+."

f.4H%+.";"

f.4H%+."@"

<4p++"6*4A"8$M$":4)2+."

f.4H%+."#"

8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 20: WebRTC: The Web Way to Communicate Alan Johnston

@+,$7"H$2*4)2"8+9:;<"

8+9"6+.[+."

3'2+.'+2"

:4)2+."

f.4H%+."="

G4Q+"8$M$":4)2+."

f.4H%+.";"

f.4H%+."@"

<4p++"6*4A"8$M$":4)2+."

f.4H%+."#"

8+9"6 "

G4Q+"8$M$":4)2+."

'2+.'+2

<4p++"6*4A"" A"8$M$":4)2+."" ."

"6+.[+."

3'

DV"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

/"9.4H%+."AB)(L$'"Q)%2"9+")%+,""

Page 21: WebRTC: The Web Way to Communicate Alan Johnston

K++.L24LK++."@+,$7"H$2*"8+9:;<"

8+9"6+.[+."

3'2+.'+2"

:4)2+."

f.4H%+."="

G4Q+"8$M$":4)2+."

f.4H%+.";"

f.4H%+."@"

<4p++"6*4A"8$M$":4)2+."

f.4H%+."#"

3'2+.'+2

G4Q+"8$M$":4)2+."

f.4H%+.";"

f.4H%+."@"

<4p++"6*4A"" A"

C!"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

O4"AB)(L$'"4.",4H'B47,".+j)$.+,e""

Page 22: WebRTC: The Web Way to Communicate Alan Johnston

8+9"6+.[+."

3'2+.'+2"

:4)2+."H$2*"O/;"

f.4H%+."="

G4Q+"8$M$""H$2*"O/;"

f.4H%+.";"

f.4H%+."@"

@4%2"9.4H%+.%"7.+"9+*$',"O/;%"4'"2*+"3'2+.'+2g"H*$1*"14QAB$172+%"2*+"+%279B$%*Q+'2"45"A++.L24LA++."Q+,$7"%+%%$4'%Z"

<4p++"6*4A"8$M$"H$2*"

O/;"

f.4H%+."#"

O/;"<4QAB$172+%"K++.L24LK++."@+,$7"

CD"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

O+2H4.T"/,,.+%%";.7'%B724.""

Page 23: WebRTC: The Web Way to Communicate Alan Johnston

8+9"6+.[+."

3'2+.'+2"

:4)2+."H$2*"O/;"

f.4H%+."="

G4Q+"8$M$""H$2*"O/;"

f.4H%+.";"

f.4H%+."@"

3<-"*4B+"A)'1*$'("17'"4m+'"+%279B$%*"7",$.+12"A++.L24LA++."%+%%$4'"9+2H++'"9.4H%+.%"9+*$',",$p+.+'2"O/;%"

<4p++"6*4A"8$M$"H$2*"

O/;"

f.4H%+."#"

3'2+.'+2

G4Q+"8$M$""H$2*"O/;"

f.4H%+.";"

f.4H%+."@"

<4p++"6*4A"" A"

K++.L24LK++."@+,$7";*.4)(*"O/;"

CC"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

3'2+.71&[+"<4QQ)'$17&4'%"-%279B$%*Q+'2g":M<"bCab"

Page 24: WebRTC: The Web Way to Communicate Alan Johnston

8+9"6+.[+."

3'2+.'+2"

:4)2+."H$2*"O/;"

f.4H%+."="

G4Q+"8$M$""H$2*"O/;"

f.4H%+.";"

f.4H%+."@"

35"942*"9.4H%+.%"7.+"9+*$',"2*+"%7Q+"O/;g"*4B+"A)'1*$'("17'"4m+'"+%279B$%*"7"14''+1&4'"2*72"'+[+."B+7[+%"2*+"O/;Z"

<4p++"6*4A"8$M$"H$2*"

O/;"

f.4H%+."#"

G4Q+"8$M$""H$2*"O/;"4Q "

KCK"@+,$7"<7'"627Y"=417B"24"O/;"

CE"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 25: WebRTC: The Web Way to Communicate Alan Johnston

8+9"6+.[+."

3'2+.'+2"

:4)2+."H$2*"O/;"

f.4H%+."="

G4Q+"8$M$""H$2*"O/;"

C!EZ!ZDDEZa"

f.4H%+.";"

f.4H%+."@"DVCZDXkZ!Zb"

EZa

<4p++"6*4A"8$M$"H$2*"

O/;"

f.4H%+."#"

;I:O"6+.[+."DVkZbDZD!!ZC"

f.4H%+."%+',%"6;IO"2+%2"A71T+2"24"6;IO"%+.[+."24"B+7.'"$2%"A)9B$1"3K"7,,.+%%"S7,,.+%%"45"2*+"O/;UZ"

6;IO"6+.[+."DVkZbDZD!!ZV"

8+9"6+.[+." 6;IO"6+ "DVkZbDZD "

2

H$2*"O/;"C!E ! DDE a

3'2+.'+2

G4Q+"8$M$""H$2*"O/;"

f.4H%+."q)+.$+%"6;IO"6+.[+.""

Ca"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

6+%%$4'";.7[+.%7B"I&B$&+%"54."O/;g":M<"bEkV"

Page 26: WebRTC: The Web Way to Communicate Alan Johnston

8+9"6+.[+."

3'2+.'+2"

:4)2+."H$2*"O/;"

f.4H%+."="

G4Q+"8$M$""H$2*"O/;"

f.4H%+.";"

f.4H%+."@"

<4p++"6*4A"8$M$"H$2*"

O/;"

f.4H%+."#"

;I:O"6+.[+."7%"7"@+,$7":+B7Y"

8+9"6+.[+."

3'2+.'+2

Q+"8$M$""2*"O/;"

;I:O"6+.[ " " "

:4)2+."H$2*"O/;"

" [+."7%"7"":+B7Y"

;I:O"6+.[ " " "7": "@+,$7" "

3'"%4Q+"17%+%g"*4B+"A)'1*$'("57$B%g"7',"7";I:O"@+,$7":+B7Y"4'"2*+"A)9B$1"3'2+.'+2"Q)%2"9+")%+,Z""

6;IO"6+.[+."

;I:O"6+.[+."<7'":+B7Y"@+,$7"

Cb"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

;.7[+.%7B"45"I#K"7:4)',"O/;g":M<"bWXX"

Page 27: WebRTC: The Web Way to Communicate Alan Johnston

8+9:;<"K.42414B%"7',"3-;M"627',7.,%"

CX"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 28: WebRTC: The Web Way to Communicate Alan Johnston

8+9:;<"K.42414B%"

CW"

I#K"6<;K";<K";<K"

;=6";.7'%A4.2"=7Y+." #;=6"

8+9641T+2" 6:;K" 6#K"

;I:O"

6;IO"

3<-"/AAB$17&4'"=7Y+."

G;;K"

8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

3K"O+2H4.T"=7Y+."

<4AA+." M$9+." 8$.+B+%%"K*Y%$17B"=7Y+."

-2*+.'+2" KKK"r"#727=$'T"=7Y+."

3K[a%&'%3K[X"

Page 29: WebRTC: The Web Way to Communicate Alan Johnston

/"h4$'2"627',7.,%"-p4.2"

•! 84.B,"8$,+"8+9"<4'%4.&)Q"S8E<U""–! 627',7.,$]$'("/K3%"S/AAB$17&4'"K.4(.7QQ$'("

3'2+.571+%U"–! @4%2"H4.T"$'"8-f:;<"84.T$'("\.4)A"–! I%+,"9Y"h7[761.$A2"24"711+%%":;<"5)'1&4'"

•! 3'2+.'+2"-'($'++.$'(";7%T"M4.1+"S3-;MU"–! 627',7.,$]$'("A.42414B%"S9$2%"4'"2*+"H$.+U"–! <4,+1%"SQ4.+"4'"2*$%"'+P2U"–! K++."<4''+1&4'"H$BB")%+":;Kg"6#Kg"7',"

+P2+'%$4'%"–! 64Q+"H4.T"$'":;<8-f"84.T$'("\.4)A"–! =42%"45".+B72+,"H4.T"$'"@@I63<g"/R;<?:-g"+21Z"

Ck"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 30: WebRTC: The Web Way to Communicate Alan Johnston

?A)%"/),$4"<4,+1"

M.4Q"*^A_``4A)%L14,+1Z4.(`14QA7.$%4'`"

CV"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 31: WebRTC: The Web Way to Communicate Alan Johnston

/),$4"<4,+1"<4QA7.$%4'"

*^A_``4A)%L14,+1Z4.(`14QA7.$%4'`j)7B$2YZA'("E!"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 32: WebRTC: The Web Way to Communicate Alan Johnston

627',7.,"<4,+1%"$'"8+9:;<"

ED"

•! @7',724.Y"24"3QAB+Q+'2"S@;3U"7),$4"14,+1%"7.+"%+^B+,"4'"?A)%"7',"\ZWDD"So'7BBYeU"

•! R$,+4"$%"'42"Y+2"%+^B+,"–!GZCXa"[%"RKk"o(*2"$%")(BY"

"""""""""":M<"XWDX"""""""""Z""""""""

8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 33: WebRTC: The Web Way to Communicate Alan Johnston

8+9:;<"7',"2*+"-'2+.A.$%+"

•! -'2+.A.$%+"*7%")'$j)+".+j)$.+Q+'2%"4'"8+9:;<"•! 6+1).$2Y"

–! M$.+H7BB"2.7[+.%7B"–! /11+%%"14'2.4B"–! K++.L24LA++.",727"s4H%"

•! <4QAB$7'1+"–! :+14.,$'(">"B4(($'("–! K4B$1Y"14QAB$7'1+"

•! 3'2+(.7&4'"H$2*"+P$%&'("$'5.7%2.)12).+"•! O+H"+B+Q+'2"A.4A4%+,_"

–! c6+1).+"-,(+d"B4172+,"$'"+'2+A.$%+"#@t"

8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE" EC"

6++"4)."7.&1B+"c;7T$'("8+9:;<"24"2*+"-'2+.A.$%+d"$'"/A.$B"3---"<4QQ)'$17&4'%"@7(7]$'+"

Page 34: WebRTC: The Web Way to Communicate Alan Johnston

8*72N%"O+P2F"

•! 8E<"7',"3-;M"%27',7.,%"%&BB"'++,"24"9+"o'7B$]+,"S+7.BY"C!DaU"

•! f.4H%+.%"'++,"24"7,,"%)AA4.2"–!<*.4Q+"9.4H%+."*7%"Q)1*"45"2*$%"5)'1&4'7B$2Y"'4He"–! M$.+54P"H$BB"*7[+"%*4.2BY"S$'"'$(*2BY"9)$B,%U"–!@49$B+"9.4H%+.%"'++,"24"%)AA4.2"

•! 3'"/',.4$,"f+27"'4H"

•! @7',724.Y"24"3QAB+Q+'2"[$,+4"14,+1"'++,%"24"9+",+1$,+,"

•! -'2+.A.$%+")%+"45"8+9:;<"'++,"24"9+"H4.T+,"4)2"

EE"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

Page 35: WebRTC: The Web Way to Communicate Alan Johnston

q)+%&4'%F"

Ea"8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE"

*^A%_``H+9.21944TZ14Q" *^A%_``14)'&'(5.4Q]+.4Z'+2"

Page 36: WebRTC: The Web Way to Communicate Alan Johnston

:+5+.+'1+%"

DZ! <Z"#7[$,%g"/Z"h4*'%24'g"uZ"6$'(*g"GZ"6$''.+$1*g"8Z"8$QQ.+)2+.g"v63K"/K3%"54."R4$1+"7',"R$,+4"<4QQ)'$17&4'%"4'"2*+"8+9vg"K.$'1$AB+%g"6Y%2+Q%"7',"/AAB$17&4'%"45"3K";+B+14QQ)'$17&4'%"S3K;14QQUg"<*$17(4g"3=g"/)("C!DD"

CZ! /Z"h4*'%24'g"#Z"f).'+^g"c8+9:;<_"/K3%"7',":;<8-f"K.42414B%"45"2*+"G;@=b":+7BL;$Q+"8+9dg"#$($27B"<4,+Pg"62Z"=4)$%g"@?g"C!DC"

EZ! /Z"h4*'%24'g"hZ"w47T)Qg"uZ"6$'(*g"c;7T$'("4'"8+9:;<"$'"7'"-'2+A.$%+g"S24"7AA+7."$'U"3---"<4QQ)'$17&4'%"@7(7]$'+g"R4B"bDg"O4Z"ag"/A.$B"C!DE"

8+9:;<"3---"62"=4)$%">"<?@6?<"/A.$B"C!DE" Eb"