Awesome Rtc Overview
:satellite: A curated list of awesome Real Time Communications resources
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 rtckit/awesome-rtc · ⭐ 202 · 🏷️ Networking
Awesome Real Time Communications
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 (⭐140) - Back-to-back user agent server written in Python.
- Flexisip (⭐104) - 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 (⭐601) - RTP and UDP based media traffic proxy, usable as a kernel module.
- mediasoup - Specialized WebRTC conferencing system.
- SEMS (⭐132) - 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 (⭐8.3k) - Fully featured TURN/STUN server supporting multiple platforms.
- STUNTMAN (⭐1.2k) - RFC compliant open source STUN implementation.
Operations
Monitoring
- sngrep (⭐779) - Terminal based SIP flow viewer.
- sipgrep (⭐146) - Console tool for sniffing, capturing and exploring SIP traffic.
- rtpbreak (⭐11) - Detect, reconstruct and analyze RTP sessions.
- HOMER (⭐1.2k) - Multi-protocol capturing and monitoring framework for RTC.
- WebRTC Troubleshooter (⭐440) - Self-hosted 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 (⭐683) - Suite of security tools that can be used to audit SIP based VoIP systems.
- sipsak (⭐98) - SIP stress and diagnostics utility.
- sipexer (⭐142) - Modern and flexible SIP command line tool.
Deployment
- slimswitch (⭐6) - Tooling for creating lean secure FreeSWITCH Docker images.
Web/API Interfaces
- Eqivo - Open source programmable-voice/telephony API platform.
- Kazoo - Carrier-grade VoIP API platform using FreeSWITCH and Kamailio.
- FusionPBX - Multitenant system built on top of FreeSWITCH.
- FreePBX - Web Manager for Asterisk.
- Fonoster (⭐5.4k) - Telecommunication stack built with Node.js.
- Wazo - VoIP API platform built on top of Asterisk, Kamailio and RTPEngine.
- jambonz - Open source CPaaS built for communications service providers.
- IVOZ Provider (⭐156) - Multitenant solution for VoIP telephony providers.
Billing
- CGRateS - Carrier grade open source billing/rating server.
- A2Billing - Billing system for Asterisk for multiple applications.
- PyFreeBilling (⭐80) - 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 (⭐3.3k) - 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 (⭐6.5k) - WebRTC video, voice, and data channels abstraction for Node.js and the browser.
- Netflux (⭐198) - 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 (⭐490) - 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 (⭐897) - Standalone WebRTC DataChannels C++ implementation.
- libSRTP (⭐992) - Secure Real-time Transport Protocol (SRTP) library for C.
- usrsctp (⭐536) - Portable Stream Control Transmission Protocol (SCTP) user-land stack.
- rawrtc (⭐348) - WebRTC and ORTC library with a small footprint.
- OSS Core (⭐21) - General purpose C++ library for Real Time Communications.
- Open WebRTC Toolkit - WebRTC development toolkit with bindings for multiple platforms.
- Sofia-SIP (⭐141) - Open source SIP library used by FreeSWITCH.
Go Libraries
- Pion - Extensive software stack for WebRTC written in Go.
- gossip (⭐313) - SIP stack for stateful user agents written in Go.
- siprocket (⭐66) - Fast SIP and SDP packet parser.
- go-diameter (⭐212) - RFC compliant Diameter protocol library.
PHP Libraries
- RTCKit/SIP (⭐23) - RFC 3261 compliant SIP parsing and rendering library for PHP 7.4+.
Python Libraries
- aiortc (⭐3.1k) - WebRTC and ORTC implementation for Python using asyncio.
- Katari (⭐29) - SIP stack application framework.
- peerjs-python (⭐66) - Python port of the PeerJS peer-to-peer connection library.
Erlang Libraries
- NkSIP (⭐337) - Extendable SIP server framework.
- ersip (⭐112) - Library comprising building blocks for SIP applications.
Rust Libraries
- libsip - SIP implementation, with a focus towards softphone clients.
- sipcore (⭐24) - Rust framework for creating SIP applications.
- rtcrs/webrtc (⭐2.3k) - WebRTC stack, supporting SDP, RTP, RTCP and SRTP.
Dart Libraries
- dart-sip-ua (⭐247) - 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.
- JanusCon - JanusCon is a live event for Janus and RTC implementers.
- TADHack - Global hackathon focused on programmable communications.
Related Lists
- Awesome RIPT (⭐17) - Real Time Internet Peering for Telephony.
- Awesome RTC Hacking (⭐215) - Real Time Communications hacking and penetration testing resources.
- Awesome 5G (⭐411) - 5G frameworks, libraries, software and resources.
- Awesome Cellular Hacking (⭐2.1k) - Research resources in the 3G/4G/5G Cellular security space.
- Awesome Telco (⭐361) - Telco resources and projects.
- SIP Resources (⭐121) - Useful SIP resources curated by Kamailio's head developer.
Contribute
Contributions welcome! Read the contribution guidelines first.