WebRTC Training

WebRTC Training

  • Course Overview
WebRTC is taking the Real Time communications industry by storm.  Learn WebRTC from the people who are developing applications.  Our team of dedicated VoIP/SIP and WebRTC developers and integration experts bring you and your team practical, real world experience.  WebRTC is the biggest revolution in communications since the beginnings of Unifed Communications over 15 years ago.  Get up to speed now and start preparing for the revolution.

  • What you will learn
Learn the latest developments in WebRTC.  Put Real Time Communications trends in context and understand why WebRTC is enabling a completely new network and application paradigm.

  • Who needs to attend
Software developers and computer programmers with a background in Javascript and SIP/HTTP/Web programming are ideally suited to attend this class.  A knowledge of Real Time communications is ideal, as is a background with RT signaling using SIP.  Experience witn Node.js is helpful but not required.

  • Android developer
  • Programmers
  • Software developer
  • Web developers

  • Prerequisites
Experience with JavaSript is essential.  Web programming experience is helpful.  A background with VoIP/SIP/ Telecommunications is helpful but not a requirement.  Knowledge of TCP/IP and HTTP programming is useful.

Key features

  • 30 hours of instructor-led training
  • 30 hours of high-quality eLearning content
  • 5 simulation exams (250 questions each)
  • 8 domain-specific test papers (10 questions each)
  • 30 CPEs offered
  • 98.6% pass rate

WebRTC Training                                                    Duration : 3-4 Days

Module One: Introduction to WebRTC

  • 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
        • 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
        • info/dc
        • info/pc
        • Gesture Control: using Webcam controlled HTML5 Slides
          • getUserMedia()-API Demonstrator
        • ustyme
        • PIPE: File Transfer/Sharing on Facebook
        • Fluke Connect
        • Capiche
        • Be My Eyes
        • Rap Battles

Module Two: WebRTC APIs

  • 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
    • getUserMedia(constraints, successCallback, errorCallback)
    • info/gum
    • Processing video and audio streams
    • Examples
      • gUM + Canvas
      • github.com/ascii-camera
      • gUM screencapture
      • Build hangouts using WebRTC
    • Constraints
    • Dynamic constraints through API
    • getUserMedia constraint of audio true only

RTCPeerConnection API

  • Abstracts away complexity
  • Sets up everything
    • Echo cancelation
    • noise reduction
    • codecs
    • etc
  • setting up peer to peer pathway through NATs and Firewalls
  • RTCSessionDescription
    • SDP format
    • candidate options
    • codecs, ports, RTP configuration, etc.
  • RTCDataChannel
    • Exchanging Arbitrary data
    • Same API as WebSockets
    • Ultra low latency
    • info/dc
  • Overview of additional APIs of interest
  • Resources
    • chrome://webrtc-internals
    • js
    • Code Samples
    • com/GoogleChrome/webrtc
    • appspot.com

Module Three: WebRTC Architecture

  • 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
    • 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
    • MediaStream Signaling 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
    • info/dc

Module Four: IPv4 & NAT

  • 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
    • 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

You can enroll for this classroom training online. Payments can be made using any of the following options and receipt of the same will be issued to the candidate automatically via email.

1. Online ,By deposit the mildain bank account

2. Pay by cash team training center location

Highly qualified and certified instructors with 20+ years of experience deliver more than 200+ classroom training.
Venue is finalized few weeks before the training and you will be informed via email. You can get in touch with our 24/7 support team for more details. Contact us Mob no:- 8447121833, Mail id:  [email protected] . If you are looking for an instant support, you can chat with us too.
We provide transportation or refreshments along with the training.
Contact us using the form on the right of any page on the mildain website, or select the Live Chat link. Our customer service representatives will be able to give you more details.

Find This Training in Other Cities:-

Kolkata, Bangalore, Mumbai, Hyderabad, Pune, Delhi, Chennai.

Drop Us A Query

Your Name (required)

Your Email (required)

Contact Number




For Business

Corporate Training Solutions

  • Blended learning delivery model (self-paced eLearning and/or instructor-led options)
  • Course, category, and all-access pricing
  • Enterprise-class learning management system (LMS)
  • Enhanced reporting for individuals and teams
  • 24×7 teaching assistance and support

Any Enquiry contacts us:

Contact us 

You can reach us for Following locations in India

noidadelhijaipur IndoreChennai HyderabadPuneBangalorechandigarhmumbai


usa ukAustraliaSingaporecanada


“ Good session..!!Will be useful to improve my technical Knowledge. ”
“ I was enrolled for Online Xamarin Training ,It was wonderful experience. ”
Ajay Nunna
“ My Trainer for Guidwire was knowledgeable and taught me all basic to advance information, huge thanks to Mildain for its support. ”
“ Guys go for Xamarin course , It was best among all , Thanks to Rahul sir for Training. ”
“ I enrolled for PMP online training, Thanks for giving me all question bank, study material and post Training support. ”
“ I was bit skeptical at starting for Blueprism, As there were not more institutes to offer blueprism, Thanks Mildain and team , I am happy to say that I have learn blueprism. ”