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

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

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button