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 -
Back-to-back user agent server written in Python.
- Flexisip
- SIP server suite comprising proxy, presence and group chat
functions.
- 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.
Contribute
Contributions welcome! Read the contribution guidelines first.