Courses & Tutorials
Awesome Real Time Communications – Massive Collection of Resources
Protocols and methodology for near simultaneous exchange of media and data.
Contents
Server Software
General Purpose
- FreeSWITCH – Open source multi-protocol, cross-platform and software switch.
- Asterisk – PBX framework supporting multiple protocols and platforms.
SIP Servers
- Kamailio – Open source SIP server widely deployed by carriers and providers. Formerly known as OpenSER.
- OpenSIPS – Open source SIP server, tracing its roots in OpenSER (presently Kamailio).
- Routr – Lightweight SIP proxy, location server, and registrar written in Node.js.
- Sippy B2BUA – Back-to-back user agent server written in Python.
- Flexisip – SIP server suite comprising proxy, presence and group chat functions.
Media Servers
- Janus – Lightweight open source, general purpose, WebRTC gateway.
- RTPProxy – General purpose high performance RTP proxy.
- RTP:Engine – RTP and UDP based media traffic proxy, usable as a kernel module.
- mediasoup – Specialized WebRTC conferencing system.
- SEMS – Open source media and application server for SIP based VoIP services.
- Jitsi – A collection of RTC open source projects, with a focus on conferencing software.
STUN/TURN
- coturn – Fully featured TURN/STUN server supporting multiple platforms.
- STUNTMAN – RFC compliant open source STUN implementation.
Operations
Monitoring
- sngrep – Terminal based SIP flow viewer.
- sipgrep – Console tool for sniffing, capturing and exploring SIP traffic.
- rtpbreak – Detect, reconstruct and analyze RTP sessions.
- HOMER – Multi-protocol capturing and monitoring framework for RTC.
- WebRTC Troubleshooter – One stop client-side WebRTC troubleshooter.
- Trickle ICE – Exposes client-side NAT traversal debug data.
- SIP3 – VoIP & RTC traffic monitoring and analysis platform.
Testing
- SIPp – Traffic generator for the SIP protocol.
- SIPVicious – Suite of security tools that can be used to audit SIP based VoIP systems.
- sipsak – SIP stress and diagnostics utility.
Web/API Interfaces
- Kazoo – Carrier-grade VoIP API platform using FreeSWITCH and Kamailio.
- FusionPBX – Multitenant system built on top of FreeSWITCH.
- FreePBX – Web Manager for Asterisk.
Billing
- CGRateS – Carrier grade open source billing/rating server.
- A2Billing – Billing system for Asterisk for multiple applications.
- PyFreeBilling – Wholesale billing platform for Kamailio and FreeSWITCH.
Developer Resources
Tutorials
- Official Website – Entry level WebRTC resources.
- Getting Started With WebRTC – WebRTC tutorial by HTML5 Rocks.
- WebRTC Samples – Collection of samples demonstrating various parts of the WebRTC APIs.
- WebRTC Experiments – Comprehensive list of samples by Muaz Khan.
- Interactive Codelab – 30 minutes step by step live tutorial by Google.
JavaScript Libraries
- drachtio – Node.js SIP server framework.
- adapter.js – JavaScript shim for abstracting WebRTC spec changes and inconsistencies.
- JsSIP – Lightweight open source JavaScript SIP library.
- sipML5 – Open source JavaScript SIP client with WebRTC media stack.
- simple-peer – WebRTC video, voice, and data channels abstraction for Node.js and the browser.
- Netflux – Isomorphic JavaScript peer to peer transport API for client and server.
- PeerJS – Data and media peer-to-peer connection API implemented over WebRTC.
C/C++ Libraries
- libre – Portable SIP Stack along with companion libraries for media handling, STUN/TURN and a modular user agent.
- PJSIP – Multi-protocol RTC library written in C.
- eXosip – eXtended osip is a mature C library for abstracting the SIP protocol.
- libdatachannel – Standalone WebRTC DataChannels C++ implementation.
- libSRTP – Secure Real-time Transport Protocol (SRTP) library for C.
- usrsctp – Portable Stream Control Transmission Protocol (SCTP) user-land stack.
- rawrtc – WebRTC and ORTC library with a small footprint.
- OSS Core – General purpose C++ library for Real Time Communications.
- Open WebRTC Toolkit – WebRTC development toolkit with bindings for multiple platforms.
Go Libraries
- Pion – Extensive software stack for WebRTC written in Go.
- gossip – SIP stack for stateful user agents written in Go.
- siprocket – Fast SIP and SDP packet parser.
- go-diameter – RFC compliant Diameter protocol library.
PHP Libraries
- RTCKit/SIP – RFC 3261 compliant SIP parsing and rendering library for PHP 7.4+.
Python Libraries
- aiortc – WebRTC and ORTC implementation for Python using asyncio.
- Katari – SIP stack application framework.
- peerjs-python – Python port of the PeerJS peer-to-peer connection library.
Erlang Libraries
- NkSIP – Extendable SIP server framework.
- ersip – Library comprising building blocks for SIP applications.
Rust Libraries
- libsip – SIP implementation, with a focus towards softphone clients.
- sipcore – Rust framework for creating SIP applications.
- rtcrs/webrtc – WebRTC stack, supporting SDP, RTP, RTCP and SRTP.
Dart Libraries
- dart-sip-ua – Dart-lang port of JsSIP, capable of SIP over WebSocket.
Blogs
- BlogGeekMe – Blog by Tsahi Levent-Levi with a strong focus on WebRTC.
- SIP Adventures – Unified communications blog by Andrew Prokop.
- WebRTCHacks – WebRTC blog by independent technologists.
Discussion
- FreeSWITCH Slack – Join #freeswitch and #freeswitch-dev for user and developer support.
- discuss-webrtc – Developer oriented Google Group for WebRTC discussions.
Events
- ClueCon – Annual conference held in Chicago for telecommunications developers. Birthplace of FreeSWITCH.
- Kamailio World – Berlin hosted annual event focused on Kamailio as well as VoIP, WebRTC, IMS, VoLTE and more.
- AstriCon – Asterisk focus event held every year across the US.
- CommCon – Annual conference held in the UK focused on telecommunications in general and WebRTC in particular.
- OpenSIPS Summit – Meeting place for the OpenSIPS community.
- Kranky Geek – AI and RTC event in San Francisco.
- FOSDEM – Free event for software developers, with a RTC component, held every year in Europe.
Related Lists
Awesome Software-Defined Networking – Massive Collection of Resources