SlideShare une entreprise Scribd logo
1  sur  21
Tim Panton
@steely_glint
PUTTING THE WEB INTO
WEBRTC
 Protocol Droid
 Webrtc fan -
 Standards pusher
 Doing my own thing with IOT
 Some consulting
ABOUT: TIM PANTON
@steely_glint - Westhawk Ltd
CHANGE IS COMING
 1905
 Newtonian Physics
 All wrapped up
 Almost…. ->
 Photoelectric effect
 Quantum view of universe
 New possibilities
 WebRTC is like that.
 Changes communications
baseline
 Adding P2P security +context
@steely_glint - Westhawk Ltd
 Pay per min for calls
THE OLD WAY
@steely_glint - Westhawk Ltd
 Twillio will do 1bn webrtc minutes this year
 Most of them in apps like Uber and twiddla
 It is still communication – but in context
 Context first – call second
NOT JUST ‘CALLS’ ANY MORE
@steely_glint - Westhawk Ltd
Don’t underestimate Javascript
Combine
 Cookies/context
 WebGL
 WebAudio
 WebRTC
WEB TOOLS
@steely_glint - Westhawk Ltd
 Setting up a call is about establishing a shared context
 Who am I?
 Who can call who?
 Do you want to speak to me?
 Login + cookies is one way – but there are others
 Text ‘upgrade’ is defacto now.
URLs:
https://appear.in/steely_glint
But that didn’t work for my video-call-my-parrot app.
(YoPet)
CONTEXT
@steely_glint - Westhawk Ltd
 Video effects in high level language
 Realtime
 Built into browser
Examples:
http://seriouslyjs.org/ - real time green-screen in your browser!
http://www.html5rocks.com/en/tutorials/webgl/jsartoolkit_we
brtc/AR_mediaStream.html - magic AR
Can also be applied to remote video streams.
WEBGL
@steely_glint - Westhawk Ltd
 Use video to
 Exchange a token
 Out of band
 Save it
 Proximity based pairing – like bluetooth but easier
 Useful for ‘things’ without a usable keyboard
 Filed a patent on Token choice
(See IIT talk for details)
 Untrusted (federated) middleman.
YOPET DEMO
@steely_glint - Westhawk Ltd
 Late 80’s synth in your browser (https://www.flickr.com/photos/gmacklin/)
WEBAUDIO
@steely_glint - Westhawk Ltd
 http://webaudiodemos.appspot.com/midi-synth/index.html
 https://forestmist.org/share/web-audio-api-demo
LITERALLY
@steely_glint - Westhawk Ltd
 WebAudio + WebRTC
 Chrome supports outbound webRTC streams from WebAudio
 Firefox >=39 supports both directions
 Process your audio before sending it (chrome)
 Filter, delay, fft, convolve
 Combine effects to pitch shift
 Display spectrum
 Arbitrary maths in webworker
 In Firefox you can do the same on the inbound side too
SO WHAT?
@steely_glint - Westhawk Ltd
 No longer need to talk to yourself
 Press a button to inject audio
 No EC or ACG in the way
 Test code only – not production
w i n d o w . w i r e . a p p . r e p o s i t o r y . c a l l . i n j e c t _ a u d i o _ i n t o _ c a l l ( w i r e . a p p . r e p o s i t o r y . c o n v e r s a t i o n . a c t i v e _ c o n v e r s a t i o n ( ) . i d ,
” a u d i o / r e a d y _ t o _ t a l k . m p 3 " )
EXAMPLE – INJECT TEST AUDIO
@steely_glint - Westhawk Ltd
_wrap_local_stream: (stream) =>
wrap_stream = stream
#should test for audio stream type here...
@contex = new window.AudioContext()
@localsource = @context.createMediaStreamSource stream
@localdest = @audio_context.createMediaStreamDestination()
@addeffects()
wrap_stream = @local_audio_dest.stream
return wrap_stream
CODE
@steely_glint - Westhawk Ltd
_suck_in_audio_file: =>
AUDIO_PATH = 'ext/audio/webapp-audio/'
knock_url = "#{AUDIO_PATH}ready_to_talk.mp3"
request = new XMLHttpRequest()
request.open('GET', knock_url, true)
request.responseType = 'arraybuffer'
request.onload = =>
load = (buffer) =>
@knock_audio_buffer = buffer
@logger.log "Loaded audio from #{knock_url}"
fail = =>
@logger.log "Failed to load audio from #{knock_url}"
@audio_context.decodeAudioData request.response, load , fail
request.send();
CODE
@steely_glint - Westhawk Ltd
send_audio_file: =>
# we unhook the mic , play our audio , then reconnect
if @knock_audio_buffer isnt undefined
knock_source = @audio_context.createBufferSource()
knock_source.buffer = @knock_audio_buffer
@local_audio_source.disconnect()
knock_source.connect(@local_audio_dest)
knock_source.onended = =>
@logger.log 'finished knock sound'
knock_source.disconnect(@local_audio_dest)
@_hookup_audio()
@logger.log 'play knock sound'
knock_source.start();
CODE
@steely_glint - Westhawk Ltd
_wrap_remote_stream: (stream) =>
wrap_stream = stream
if @context isnt undefined
#only works in ffox >= 39
@remote_source = @context.createMediaStreamSource
stream
@remote_dest = @context.createMediaStreamDestination()
@remote_audio_source.connect(@remote_audio_dest)
@add_effects2()
wrap_stream = @remote_audio_dest.stream
@logger.log 'Wrapped remote audio stream'
return wrap_stream
CODE
@steely_glint - Westhawk Ltd
 Firefox debug screen
 Various plugboards
 Volume meter
IF YOU LIKE GRAPHICS
@steely_glint - Westhawk Ltd
 Use WebAudio to Inject Audio
 Acoustically couple to test device
 Compare returning stream from DUT
 Measure latency from differences
 Tests Audio and network path
 in Firefox nightly
LATENCY MEASUREMENT
@steely_glint - Westhawk Ltd
 Use WebAudio to do IVR
 Do the automated part locally
 Only connect when actually need agent
 Higher quality audio
 More network resilient
 Much less dialplan?
(use 1m web devs?)
LONGER TERM
@steely_glint - Westhawk Ltd
 Web Browser has rich APIs
 Use them to delight your user
 To make your life easier
 Or both!
 thp@westhawk.co.uk
 @steely_glint
 (thanks to wire.com for examples in this talk)
SUMMARY
@steely_glint - Westhawk Ltd

Contenu connexe

Similaire à Putting the 'web' into webRTC

Push the web with HTML5
Push the web with HTML5Push the web with HTML5
Push the web with HTML5Stoyan Zhekov
 
"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller
"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller
"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schillerscottschiller
 
Petr Dvořák: Mobilní webové služby pohledem iPhone developera
Petr Dvořák: Mobilní webové služby pohledem iPhone developeraPetr Dvořák: Mobilní webové služby pohledem iPhone developera
Petr Dvořák: Mobilní webové služby pohledem iPhone developeraWebExpo
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...Dean Bubley
 
Developing SIP Applications
Developing SIP ApplicationsDeveloping SIP Applications
Developing SIP ApplicationsVoxeo Corp
 
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoHTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoAlessandro Nadalin
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCAlexandre Gouaillard
 
Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?Kundan Singh
 
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...Soroosh Khodami
 
Best Practices In Implementing Container Image Promotion Pipelines
Best Practices In Implementing Container Image Promotion PipelinesBest Practices In Implementing Container Image Promotion Pipelines
Best Practices In Implementing Container Image Promotion PipelinesAll Things Open
 
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc  2015 HTTP 1, HTTP 2 and folksDevoxx Maroc  2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folksNicolas Martignole
 
Symfony - modern technology in practice, Webexpo Prague
Symfony - modern technology in practice, Webexpo PragueSymfony - modern technology in practice, Webexpo Prague
Symfony - modern technology in practice, Webexpo PraguePavel Campr
 
HTTP colon slash slash: the end of the road?
HTTP colon slash slash: the end of the road?HTTP colon slash slash: the end of the road?
HTTP colon slash slash: the end of the road?Alessandro Nadalin
 
Getting a live_transcript_of_your_call_using_the_ari
Getting a live_transcript_of_your_call_using_the_ariGetting a live_transcript_of_your_call_using_the_ari
Getting a live_transcript_of_your_call_using_the_ariPascal Cadotte-Michaud
 
Building scalable web socket backend
Building scalable web socket backendBuilding scalable web socket backend
Building scalable web socket backendConstantine Slisenka
 
HTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPHTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPDaniel Stenberg
 

Similaire à Putting the 'web' into webRTC (20)

Push the web with HTML5
Push the web with HTML5Push the web with HTML5
Push the web with HTML5
 
"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller
"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller
"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller
 
Petr Dvořák: Mobilní webové služby pohledem iPhone developera
Petr Dvořák: Mobilní webové služby pohledem iPhone developeraPetr Dvořák: Mobilní webové služby pohledem iPhone developera
Petr Dvořák: Mobilní webové služby pohledem iPhone developera
 
- Webexpo 2010
- Webexpo 2010- Webexpo 2010
- Webexpo 2010
 
From basement to global
From basement to globalFrom basement to global
From basement to global
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
 
Developing SIP Applications
Developing SIP ApplicationsDeveloping SIP Applications
Developing SIP Applications
 
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoHTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
 
HTTP/3 for everyone
HTTP/3 for everyoneHTTP/3 for everyone
HTTP/3 for everyone
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
 
Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?
 
RESTful design
RESTful designRESTful design
RESTful design
 
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
 
Best Practices In Implementing Container Image Promotion Pipelines
Best Practices In Implementing Container Image Promotion PipelinesBest Practices In Implementing Container Image Promotion Pipelines
Best Practices In Implementing Container Image Promotion Pipelines
 
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc  2015 HTTP 1, HTTP 2 and folksDevoxx Maroc  2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
 
Symfony - modern technology in practice, Webexpo Prague
Symfony - modern technology in practice, Webexpo PragueSymfony - modern technology in practice, Webexpo Prague
Symfony - modern technology in practice, Webexpo Prague
 
HTTP colon slash slash: the end of the road?
HTTP colon slash slash: the end of the road?HTTP colon slash slash: the end of the road?
HTTP colon slash slash: the end of the road?
 
Getting a live_transcript_of_your_call_using_the_ari
Getting a live_transcript_of_your_call_using_the_ariGetting a live_transcript_of_your_call_using_the_ari
Getting a live_transcript_of_your_call_using_the_ari
 
Building scalable web socket backend
Building scalable web socket backendBuilding scalable web socket backend
Building scalable web socket backend
 
HTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPHTTP/3 is next generation HTTP
HTTP/3 is next generation HTTP
 

Plus de Tim Panton

10 voipmistakes
10 voipmistakes10 voipmistakes
10 voipmistakesTim Panton
 
Simple secure federated identity for webRTC (your new phone number)
Simple secure federated identity for webRTC (your new phone number)Simple secure federated identity for webRTC (your new phone number)
Simple secure federated identity for webRTC (your new phone number)Tim Panton
 
Kranky geek15 - securing IoT with webrtc
Kranky geek15 - securing IoT with webrtcKranky geek15 - securing IoT with webrtc
Kranky geek15 - securing IoT with webrtcTim Panton
 
Ice with that sir? Or what webRTC does once it has a UDP connection
Ice with that sir? Or what webRTC does once it has a UDP connectionIce with that sir? Or what webRTC does once it has a UDP connection
Ice with that sir? Or what webRTC does once it has a UDP connectionTim Panton
 
Yo pet - building a webRTC app in 20 mins
Yo pet - building a webRTC app in 20 minsYo pet - building a webRTC app in 20 mins
Yo pet - building a webRTC app in 20 minsTim Panton
 
Westhawk integration
Westhawk integrationWesthawk integration
Westhawk integrationTim Panton
 
WebRTC Standards overview.
WebRTC Standards overview.WebRTC Standards overview.
WebRTC Standards overview.Tim Panton
 

Plus de Tim Panton (7)

10 voipmistakes
10 voipmistakes10 voipmistakes
10 voipmistakes
 
Simple secure federated identity for webRTC (your new phone number)
Simple secure federated identity for webRTC (your new phone number)Simple secure federated identity for webRTC (your new phone number)
Simple secure federated identity for webRTC (your new phone number)
 
Kranky geek15 - securing IoT with webrtc
Kranky geek15 - securing IoT with webrtcKranky geek15 - securing IoT with webrtc
Kranky geek15 - securing IoT with webrtc
 
Ice with that sir? Or what webRTC does once it has a UDP connection
Ice with that sir? Or what webRTC does once it has a UDP connectionIce with that sir? Or what webRTC does once it has a UDP connection
Ice with that sir? Or what webRTC does once it has a UDP connection
 
Yo pet - building a webRTC app in 20 mins
Yo pet - building a webRTC app in 20 minsYo pet - building a webRTC app in 20 mins
Yo pet - building a webRTC app in 20 mins
 
Westhawk integration
Westhawk integrationWesthawk integration
Westhawk integration
 
WebRTC Standards overview.
WebRTC Standards overview.WebRTC Standards overview.
WebRTC Standards overview.
 

Dernier

DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Onlineanilsa9823
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Standkumarajju5765
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.soniya singh
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)Delhi Call girls
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.CarlotaBedoya1
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...SofiyaSharma5
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...tanu pandey
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 

Dernier (20)

DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶
@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶
@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 

Putting the 'web' into webRTC

  • 2.  Protocol Droid  Webrtc fan -  Standards pusher  Doing my own thing with IOT  Some consulting ABOUT: TIM PANTON @steely_glint - Westhawk Ltd
  • 3. CHANGE IS COMING  1905  Newtonian Physics  All wrapped up  Almost…. ->  Photoelectric effect  Quantum view of universe  New possibilities  WebRTC is like that.  Changes communications baseline  Adding P2P security +context @steely_glint - Westhawk Ltd
  • 4.  Pay per min for calls THE OLD WAY @steely_glint - Westhawk Ltd
  • 5.  Twillio will do 1bn webrtc minutes this year  Most of them in apps like Uber and twiddla  It is still communication – but in context  Context first – call second NOT JUST ‘CALLS’ ANY MORE @steely_glint - Westhawk Ltd
  • 6. Don’t underestimate Javascript Combine  Cookies/context  WebGL  WebAudio  WebRTC WEB TOOLS @steely_glint - Westhawk Ltd
  • 7.  Setting up a call is about establishing a shared context  Who am I?  Who can call who?  Do you want to speak to me?  Login + cookies is one way – but there are others  Text ‘upgrade’ is defacto now. URLs: https://appear.in/steely_glint But that didn’t work for my video-call-my-parrot app. (YoPet) CONTEXT @steely_glint - Westhawk Ltd
  • 8.  Video effects in high level language  Realtime  Built into browser Examples: http://seriouslyjs.org/ - real time green-screen in your browser! http://www.html5rocks.com/en/tutorials/webgl/jsartoolkit_we brtc/AR_mediaStream.html - magic AR Can also be applied to remote video streams. WEBGL @steely_glint - Westhawk Ltd
  • 9.  Use video to  Exchange a token  Out of band  Save it  Proximity based pairing – like bluetooth but easier  Useful for ‘things’ without a usable keyboard  Filed a patent on Token choice (See IIT talk for details)  Untrusted (federated) middleman. YOPET DEMO @steely_glint - Westhawk Ltd
  • 10.  Late 80’s synth in your browser (https://www.flickr.com/photos/gmacklin/) WEBAUDIO @steely_glint - Westhawk Ltd
  • 12.  WebAudio + WebRTC  Chrome supports outbound webRTC streams from WebAudio  Firefox >=39 supports both directions  Process your audio before sending it (chrome)  Filter, delay, fft, convolve  Combine effects to pitch shift  Display spectrum  Arbitrary maths in webworker  In Firefox you can do the same on the inbound side too SO WHAT? @steely_glint - Westhawk Ltd
  • 13.  No longer need to talk to yourself  Press a button to inject audio  No EC or ACG in the way  Test code only – not production w i n d o w . w i r e . a p p . r e p o s i t o r y . c a l l . i n j e c t _ a u d i o _ i n t o _ c a l l ( w i r e . a p p . r e p o s i t o r y . c o n v e r s a t i o n . a c t i v e _ c o n v e r s a t i o n ( ) . i d , ” a u d i o / r e a d y _ t o _ t a l k . m p 3 " ) EXAMPLE – INJECT TEST AUDIO @steely_glint - Westhawk Ltd
  • 14. _wrap_local_stream: (stream) => wrap_stream = stream #should test for audio stream type here... @contex = new window.AudioContext() @localsource = @context.createMediaStreamSource stream @localdest = @audio_context.createMediaStreamDestination() @addeffects() wrap_stream = @local_audio_dest.stream return wrap_stream CODE @steely_glint - Westhawk Ltd
  • 15. _suck_in_audio_file: => AUDIO_PATH = 'ext/audio/webapp-audio/' knock_url = "#{AUDIO_PATH}ready_to_talk.mp3" request = new XMLHttpRequest() request.open('GET', knock_url, true) request.responseType = 'arraybuffer' request.onload = => load = (buffer) => @knock_audio_buffer = buffer @logger.log "Loaded audio from #{knock_url}" fail = => @logger.log "Failed to load audio from #{knock_url}" @audio_context.decodeAudioData request.response, load , fail request.send(); CODE @steely_glint - Westhawk Ltd
  • 16. send_audio_file: => # we unhook the mic , play our audio , then reconnect if @knock_audio_buffer isnt undefined knock_source = @audio_context.createBufferSource() knock_source.buffer = @knock_audio_buffer @local_audio_source.disconnect() knock_source.connect(@local_audio_dest) knock_source.onended = => @logger.log 'finished knock sound' knock_source.disconnect(@local_audio_dest) @_hookup_audio() @logger.log 'play knock sound' knock_source.start(); CODE @steely_glint - Westhawk Ltd
  • 17. _wrap_remote_stream: (stream) => wrap_stream = stream if @context isnt undefined #only works in ffox >= 39 @remote_source = @context.createMediaStreamSource stream @remote_dest = @context.createMediaStreamDestination() @remote_audio_source.connect(@remote_audio_dest) @add_effects2() wrap_stream = @remote_audio_dest.stream @logger.log 'Wrapped remote audio stream' return wrap_stream CODE @steely_glint - Westhawk Ltd
  • 18.  Firefox debug screen  Various plugboards  Volume meter IF YOU LIKE GRAPHICS @steely_glint - Westhawk Ltd
  • 19.  Use WebAudio to Inject Audio  Acoustically couple to test device  Compare returning stream from DUT  Measure latency from differences  Tests Audio and network path  in Firefox nightly LATENCY MEASUREMENT @steely_glint - Westhawk Ltd
  • 20.  Use WebAudio to do IVR  Do the automated part locally  Only connect when actually need agent  Higher quality audio  More network resilient  Much less dialplan? (use 1m web devs?) LONGER TERM @steely_glint - Westhawk Ltd
  • 21.  Web Browser has rich APIs  Use them to delight your user  To make your life easier  Or both!  thp@westhawk.co.uk  @steely_glint  (thanks to wire.com for examples in this talk) SUMMARY @steely_glint - Westhawk Ltd