top
Corporate training

up - skill your team

Request Quote
WebRTC
Rated 4.0/5 based on 484 Votes customer reviews

WebRTC Training

Learn about WebRTC architecture including the concepts of signalling channels using Websockets, WebRTC APIs, implement WebRTC security and much more.

Online & Classroom | Latest & Accredited Courseware | 100+ hrs of assignments

Request Syllabus Schedules

Modes of Delivery

Key Features

Instructor-led interactive course on WebRTC
24 hours of Hands-on coaching for successful placements
Understand how to create superior peer-to-peer communication systems
Get access to plenty of exercise materials, courseware and code samples
Complete a live industry project with support from your mentors

Description

Peer-to-peer communication is the most important aspect of modern web applications and a software that has taken real time communications to a whole new level is WebRTC.  Web applications need WebRTC to make available audio and video streaming. And the reason for its popularity among developers is that it comes loaded with features and doesn’t need any plugins or third party software to work.

Zeolearn Academy brings you WebRTC developer training that will help you master the application and all its fundamentals. You will learn the architecture of WebRTC, concepts of signalling channels using Web Sockets, understand the WebRTC APIs, implement WebRTC security and much more. This course is great for software professionals who want to stay up to date with all the latest happenings in WebRTC.

What you will learn:

  • The WebRTC architecture and how it is revolutionizing modern web applications
  • The VoIP architecture
  • WebRTC APIs, their architecture and uses
  • How to implement security in WebRTC applications

Is this course right for you?

This course is apt for software developers, web application developers, VoIP technicians and programmers.

Prerequisites:

Participants are expected to have JavaScript and SIP/HTTP/Web programming experience.   A knowledge of Real Time communications is ideal, as is a background with RT signalling using SIP.  Experience with Node.js is helpful but not required.

 

Curriculum

  • What is WebRTC:
  • Next evolution of RT communications
  • PSTN/SS7 – VoIP/SIP – WebRTC/Any Signaling
  • Real Time Communications natively from a web browser
  • WebRTC current vendor support
    • Chrome
    • Firefox
    • Opera
    • Status of other browsers and devices
  •  Standards Process
    • IETF standards track overview
    • Overview of RFCs and emerging internet drafts
    • W3C API standards overview
  • Understanding the legacy of RT Communications
  • PSTN
  • VoIP/SIP
  • WebRTC
  • PSTN Architecture
    • PSTN Equipment
      • Central Office Switches
      • POTS phones
      • PBX
      • Analog and Digital Trunks (T-1, OC-192 Fiber, etc)
      • Conference call media transcoding/mux
      • SS&Signaling infrastructure
    • Isolation of the media plane and the signaling plane
    • Signaling with SS7
    • Media transport with Digital TDM trunks
  • VoIP Architecture
    • VoIP Equipment
      • SIP Server / Soft switch
      • SIP Endpoints (IP phones, etc)
      • VoIP-PSTN Gateways
      • Media Control Unit for Transcoding/conferencing
      • Firewalls
      • Session Border Controllers - SBC
    • Isolation of the media plane and the signaling plane
    • Signaling Options
      • Many early signaling protocols
        • H.323. IAX2, MGCP, SIP
      • Consolidation to SIP in Carrier and Enterprise networks
        • Session Initiation Protocol - SIP
        • Use of Session Description Protocol - SDP
        • SDP/SIP/UDP/IP/Layer 2
        • Implementation of Secure SIP - SIPS
    • Media Transport
      • Encoding of Audio and Video using codecs
      • Transport of Audio and Video using Real Time Protocol – RTP
      • Encryption with SRTP
      • Codec/RTP/UDP/IP/layer 2
    • NAT Traversal Solutions developed for VoIP explained
      • STUN
      • TURN
      • ICE
  • WebRTC Architecture
    • WebRTC Equipment
      • Endpoint: Browser, embedded device (Google Glass, etc)
      • SIP or other Signaling Server(s)
      • Media Control Unit for Transcoding/conferencing
      • WebRTC Gateways – SIP/VoIP – PSTN – Others not yet defined
        • Signaling
        • Media
        • Data
      • Firewalls
      • WebRTC SBC (not yet defined)
    • Isolation of the Media plane and the Signaling plane
    • Signaling plane “agnostic”
    • Four Tasks
      • Media Stream Acquisition
      • Signaling
      • Media Transport
      • “Arbitrary” Data Transport
    • Practical examples, What can you do with WebRTC
    • www.w3.org/TR/webrtc/#simple-peer-to-peer-example"(link is external)
    • simpl.info/dc
    • simpl.info/pc
    • Gesture Control: using Webcam controlled HTML5 Slides
      • http://lli.web.fh-koeln.de/mocowe/#1(link is external) getUserMedia()-API Demonstrator
    • ustyme
    • PIPE: File Transfer/Sharing on Facebook
    • Fluke Connect
    • Capiche
    • Be My Eyes
    • Rap Battles
  • WebRTC API Flowchart
  • Four Primary Requirements:
    • Acquire Audio and Video from device inputs
    • Establish connection between peers
      • Exchange Offer/Answer
      • createOffer()
      • createAnswer()
      • setLocalDescription()
      • setRemoteDescription()
    • Communicating audio and video
    • Communicating arbitrary data
  • Four primary APIs
  • getUserMedia
    • MediaStreams
  • RTCPeerConnection
    • makes connections and communicates media streams
  • RTCSessionDescription
    • Represents the parameters of a session
  • RTCDataChannel
    • Send and receive “arbitrary” data
  • getUserMedia  -MediaStreams
    • gUM
    • Represent a stream of synchronized media
    • Can contain more than one audio and/or video MediaStream Tracks
    • Obtain a MediaStream with navigator.getUserMedia()
    • javascript examples
    • navigator.getUserMedia(constraints, successCallback, errorCallback)
    • simpl.info/gum
    • Processing video and audio streams
    • Examples
      • gUM + Canvas
      • idevelop.github.com/ascii-camera
      • gUMscreencapture
      • Build hangouts using WebRTC
    • Constraints
    • Dynamic constraints through API
    • getUserMedia constraint of audio true only
    • webaudiodemos.appspot.com/Vocoder/index.html
  • RTCPeerConnection API
    • Abstracts away complexity
    • Sets up everything
      • Echo cancelation
      • noise reduction
      • codecs
      • etc
    • setting up peer to peer pathway through NATs and Firewalls
    • www.w3.org/TR/webrtc/#simple-peer-to-peer-example(link is external)
  • RTCSessionDescription
    • SDP format
    • candidate options
    • codecs, ports, RTP configuration, etc.
  • RTCDataChannel
    • Exchanging Arbitrary data
    • Same API as WebSockets
    • Ultra low latency
    • simpl.info/dc
  • Overview of additional APIs of interest
  • Resources
    • chrome://webrtc-internals
    • adapter.js
    • Code Samples
    • github.com/GoogleChrome/webrtc
    • apprtc.appspot.com
  • Isolation of the Media plane and the Signaling plane
  • Concept of “Arbitrary data” channel
  • Signaling plane “agnostic”
  • Four Tasks
    • Media Stream Acquisition
    • Signaling
    • Media Transport
    • “Arbitrary” Data Transport
  • Media Streams Acquisition
    • internal devices (webcam, mic, etc)
    • Media Transport
    • Inherently peer-to-peer
    • Supported codecs defined, including G.711, Opus, V8
    • secure transmission options
    • Requires Secure RTP or DTLS for transport
    • What to secure?
    • DTLS implementation Examples
  • Signaling
    • Signaling Agnostic: You Decide
    • "BYOS"; Bring You Own Signaling!
    • JavaScript Establishment Protocol JSEP
    • Need to exchange Session Description – SDP
    • Requirement to exchange SDP media descriptions in offer/answer
    • Alternative proposals
      • Object RTC (ORTC API) – Not standardized
    • Understanding the role of Session Description Protocol RFC4566
      • Why SDP?
      • Unified SDP for WebRTC
      • Limitation of SDP in WebRTC architecture
      • number of m lines
      • conference calling
      • traditional media mixer conference server
      • Single RTP audio stream
      • Cannot adjust, mute, enhance individual streams
      • challenge of  media relay server
      • SSRC values in single RTP stream
      • need for server logic to re-invite with new multi-m line SDP
    • Using Session Description Protocol
      • codec selection
      • peer to peer routing
      • encryption and authentication
      • Bandwidth management
      • Offer / Answer Exchange
      • createOffer
      • RFC 3264 offer
      • Complete set of capabilities
      • gotOffer
      • createAnswer
      • SDP answer
      • Codec, RTP, RTCP options plus ICE candidates
      • Negotiated set of capabilities
      • gotAnswer
      • gotRemoteStream
      •  RTCSessionDescription object
      • SDP failure requirement for DOMError object
    • Application specific signaling
    • Isolation of browser from signaling
    • Possible Signaling approaches:
    • SIP over WebSockets
    • RFC 7118: WebSocket Protocol as a Transport for the Session Initiation Protocol (SIP)
    • Signaling with Node and Socket.io
    • Socket.io uses WebSocket with fallbacks
    • jSIP
    • sip-js
    • QoffeeSIP
    • sipML5
    • Call Control API
    • GSMA/OMA extending RCS-s API to include WebRTC support
    • XMPP/Jingle
      • Interoperability with XMPP clients
      • XMPP server with XMPP WebSocket transport
    • XHR
      • no special signaling infrastructure
      • web server with proprietary protocol
    • JSON
    • Proprietary signaling
  • Connecting and Sending Data. Peer-to-peer Data API
  • RTCDataChannel
    • sending application data over peer to peer connection
    • Ultra low latency requirements
    • gaming communications
    • Signaling considerations
    • MediaStreamSignaling options plus
    • Inside Data Channel
    • latency, NAT traversal, privacy considerations
    • WebSocket or web server with proprietary implementation for Data Channel establishment
    • API similarity to WebSockets
    • Latency considerations
    • Reliability or unreliable considerations
    • When does unreliable make sense?
    • RTCPeerConnection
    • ondatachannel
    • receiveChannel
    • createDataChannel
    • sendChannel
    • simpl.info/dc
  • IPv4 vs IPv6 addressing
  • Impact of Firewalls
  • Web Proxy Server considerations
  • How NATs function
    • How NATs cause Peer to Peer applications to break
    • Impact on SIP message
    • Impact on SDP message
  • Nat Traversal solutions built into access devices
    • How these solutions can break your “solution”!
  • IPv6 Address space solution for NAT (hint: Don’t NAT!)
  • Public vs Private IPv4 addresses
  • IETF NAT Traversal Architecture
  • ICE – Interactive Connectivity Establishment
    • Architecture for STUN and TURN
    • Path determination
  • STUN, TURN, and ICE support
  • STUN
    • Session Traversal Utilities for NAT
    • Punching hole in the NAT
    • Contacting the STUN server to determine Public IP and Port information
    • Relatively Free to connect
    • Firewall considerations
  • TURN
    • Fallback for STUN
    • Relay Server in the Cloud
    • Cost and delay considerations
    • Bandwidth and Server requirements
    • Availability
  • Examples
    • stun.l.google.com:19302
    • rfc5766-turn-server
    • deploying in Amazon cloud
    • restund
  • Quality of Service
    • IETF support for Q0S in TCP/IP
    • Integration of DiffServ with Ethernet (LAN) and MPLS(WAN)
    • Use of DSCP
    • Support for DiffServ in WebRTC using DSCP
    • Practical considerations when considering DiffSer
      • LAN/WAN architecture
      • IT support
      • Carrier support
      • Internet connectivity or VPN
  • Security
    • Defining WebRTC security
    • WebRTC Security Architecture
    • Brower Permissions for accessing webcam, audio, etc
    • WebRTC Threat Model and Attacks
    • Signaling Threats and Attacks
    • API Attacks
    • Implementing DTLS
      • DTLS SRTP Key Agreement
      • Client / Server
    • Implementing SRTP
      • Secure Profile of RTP –SRTP
      • Encryption and Authentication
      • Key Exchange and Key Management
      • SDP Security Descriptions
    • WebRTC impacts on browser security
    • using HTTPS for signaling

Frequently Asked Questions

WebRTC stands for web real time communications, and enables modern web applications to easily stream video and audio. This technology is helping to change web applications and is a must learn for software developers and programmers. Zeolearn institute’s WebRTC course is your window into the world of WebRTC. The course will help you gain hands on expertise through the numerous examples, exercises and project work conducted through the course of the workshop. Join now and learn to leverage the power of WebRTC for project and career success.

On completing the course, you will learn about:

Zeolearn brings you mentor driven courses that not only helps professionals gain theoretical expertise but also the practical experience in a wide variety of courses including courses on Web Development such as Adobe Flex and Angular JS, which are very popular. The fact that our workshops are mentor driven gives us an edge over other training institutes since you can learn from industry experts about the application and challenges of upcoming technologies. We have so far trained thousands of professionals with the skills needed to land lucrative jobs and you could be next!

You will receive WebRTC certification in the form of a course completion certificate

Towards the end of the course, all participants will be required to work on a project to get hands on familiarity with the concepts learnt. You will build your own WebRTC application with support from your mentors. This project, which can also be a live industry project, will be reviewed by our instructors and industry experts. On successful completion, you will be awarded a certification.

Classes are held on weekdays and weekends. You can check available schedules and choose the batch timings which are convenient for you.

You may be required to put in 10 to 12 hours of effort every week, including the classroom sessions/live class, self study and assignments.

We offer classes in classroom and online format. While classroom sessions are held in specific venues in your city, for online sessions all you need is a Windows computer with good internet connection and you can access the class anywhere, at anytime. A headset with microphone is also recommended.

You may also attend these classes from your smart phone or tablet

Don’t worry, you can always access your class recording or opt to attend the missed session again in any other live batch.

This course is apt for software developers, web application developers, VoIP technicians and programmers.

One must have:

  • Operating system such as Mac OS X, Windows or Linux (Mac needed to package iOS apps)
  • 4 GB RAM
  • Dual Core CPU

other trainings

How We Can Help You

Contact Course advisor