sipsorcery  by sipsorcery-org

Real-time communications SDK for C# and .NET

Created 10 years ago
1,828 stars

Top 23.3% on SourcePulse

GitHubView on GitHub
Project Summary

A comprehensive C# and .NET library for integrating real-time communications, SIPSorcery enables developers to add VoIP and WebRTC capabilities to applications. It offers a robust set of tools for building features like audio and video calls, supporting a wide array of communication protocols and targeting developers needing to embed real-time communication functionalities.

How It Works

The library provides core support for Session Initiation Protocol (SIP), Web Real-time Communications (WebRTC), Real-time Transport Protocol (RTP), Interactive Connectivity Establishment (ICE), STUN, and Session Description Protocol (SDP). Its architecture is modular, with distinct packages handling media functionalities. Cross-platform media support is achieved through FFmpeg integration, while Windows-specific audio/video capture and playback are managed by SIPSorceryMedia.Windows. An experimental pure C# VP8 codec implementation is also available in VP8.Net.

Quick Start & Requirements

  • Installation: Install via NuGet using dotnet add package SIPSorcery or Install-Package SIPSorcery in the Visual Studio Package Manager Console.
  • Prerequisites: Compatible with .NET Framework >= 4.6.1, .NET Core, and all .NET versions. Windows-specific examples require a Windows environment. Cross-platform media functionality may necessitate FFmpeg installation.
  • Documentation: Available at https://sipsorcery-org.github.io/sipsorcery/.

Highlighted Details

  • Enables the integration of VoIP and WebRTC features into .NET applications.
  • Supports a broad spectrum of communication protocols, including SIP, RTP, WebRTC, ICE, STUN, and SDP.
  • Features over 70 example projects demonstrating diverse SIP and WebRTC use cases.
  • Modular media handling facilitates platform-specific or cross-platform solutions, leveraging FFmpeg or native wrappers.

Maintenance & Community

Specific details regarding notable contributors, sponsorships, community channels (e.g., Discord, Slack), or a public roadmap are not present in the provided documentation.

Licensing & Compatibility

The primary SIPSorcery library is licensed under a BSD 3-Clause License that includes an explicit prohibition on use by entities contributing to Israeli occupation or genocide. The SIPSorceryMedia.FFmpeg library is licensed separately under GNU LGPL v2.1. Compatibility for commercial use requires careful review of the BSD license's restrictive clause.

Limitations & Caveats

Media endpoint support is modular and can be platform-dependent; Windows-specific libraries are provided, and cross-platform solutions often rely on external dependencies like FFmpeg. The VP8.Net codec is noted as experimental. The BSD license includes a unique and potentially restrictive clause that may impact adoption.

Health Check
Last Commit

4 days ago

Responsiveness

Inactive

Pull Requests (30d)
25
Issues (30d)
12
Star History
24 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.