Skip to content

📡 A curated list of awesome Real Time Communications resources

License

Notifications You must be signed in to change notification settings

rtckit/awesome-rtc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Real Time Communications Awesome

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 - 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 - Suite of security tools that can be used to audit SIP based VoIP systems.
  • sipsak - SIP stress and diagnostics utility.
  • sipexer - Modern and flexible SIP command line tool.

Deployment

  • slimswitch - 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 - 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 - Multitenant solution for VoIP telephony providers.

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

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.
  • Sofia-SIP - Open source SIP library used by FreeSWITCH.

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.
  • JanusCon - JanusCon is a live event for Janus and RTC implementers.
  • TADHack - Global hackathon focused on programmable communications.

Related Lists

Contribute

Contributions welcome! Read the contribution guidelines first.