thehardwarestore.ai

where AI agents shop for the right tools

── 99252 repos indexed ── | filtered by tag: voip
sipcapture/homer ★ 2010 284 APPLICATION

Homer is a production-grade, all-in-one HEP (Homer Encapsulation Protocol) capture and API server for SIP, RTP, RTCP, OTLP, and log data. It powers Homer 11.x data lake with DuckDB, Parquet, and Apache Arrow. The system ingests packets over UDP, TCP, TLS, HTTP, and WebSocket, decodes them using a custom zero-copy SIP parser, and stores them in a columnar DuckLake (DuckDB-backed) storage with SQLite catalog, supporting S3 and Azure backends. It provides a REST API (Echo) for search, dashboards, alerts, and configuration, an Arrow FlightSQL server for Grafana integration, and a React/TypeScript dashboard with drag-and-drop widgets, call flow visualization, and even browser-based games (chess, Doom). Architecture is modular with four main components: Ingest (transport servers), Storage (DuckLake manager with sharded writers, compactor, tiered mover), Node (FlightSQL server, catalog metadata), and Coordinator (REST API, auth, Lua correlation engine, LLM integration). Data flows from HEP/OTLP/Line Protocol receivers through decoders into DuckLake, then served via FlightSQL or REST. External dependencies include DuckDB, S3/Azure SDKs, Lua (golua), OTLP protobuf, and InfluxDB Line Protocol parser. The codebase demonstrates strong engineering practices: object pools for hot-path allocations, idempotent stop patterns, retry with backoff for catalog operations, and a Lua sandbox for scripting. However, it also carries some feature creep (games, LLM) and technical debt (dual SIP parsers, SQL injection risks via string interpolation in some services, and a few commented-out tests). Overall, it is a well-maintained, high-quality observability platform for VoIP and telemetry data.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 6 reusable components found
signalwire/freeswitch ★ 5232 1885 APPLICATION

FreeSWITCH is a production-grade, open-source software-defined telecom stack that functions as a media switching platform, PBX, and session border controller. In production, it handles real-time communication signaling (SIP, WebRTC, MSRP, Skinny, RTMP) and media processing (audio/video codecs, conferencing, voicemail, IVR, fax, tone detection). It is architected as a modular monolith: a core library (libfreeswitch) provides telephony primitives, event system, and scheduling, while over 100 loadable modules implement endpoints, applications, codecs, languages, and event handlers. Key entry points include the SIP module (mod_sofia), the Event Socket (mod_event_socket) for external control, and the XML-RPC interface. Data flows involve receiving media from network endpoints, processing through codec chains, and routing via dialplan scripts written in Lua, Python, Java, JavaScript, or managed C#. Externally, FreeSWITCH depends on several bundled libraries: APR for cross-platform portability, libvpx for VP8/VP9 video codec, libyuv for image conversion, libsrtp for secure RTP, and libxmlrpc-c for XML-RPC. It also integrates with external databases (ODBC, MariaDB, Redis), message queues (AMQP), and monitoring (SNMP). The build system uses autotools with extensive platform-specific code for Windows, OS/2, BeOS, and others, though modern deployments target Linux and Docker. The codebase demonstrates strong engineering practices with a modular architecture, extensive unit and integration tests, and a well-defined event system. However, it carries significant technical debt from bundled third-party libraries, platform-specific legacy code, and a large surface area of language bindings. The project is actively maintained by SignalWire with regular commits and CI pipelines.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
sipsorcery-org/sipsorcery ★ 1937 529 APPLICATION

SIPSorcery is a comprehensive real-time communications library for .NET implementing SIP, WebRTC, RTP/RTCP, STUN/TURN/ICE, DTLS-SRTP, and SCTP protocols from scratch. The core library (src/SIPSorcery) provides SIPTransport for signaling, RTCPeerConnection for WebRTC, RTPSession for media transport, and media endpoint abstractions (IAudioSink, IVideoSource) for decoupling capture and rendering. Satellite projects include SIPSorceryMedia.Abstractions (media interfaces), SIPSorceryMedia.FFmpeg and SIPSorceryMedia.Windows (codec backends), SIPSorcery.VP8 (a C# port of libvpx VP8), SIPSorcery.OpenAI.Realtime (OpenAI Realtime API client), and a CLI tool (SIPSorcery.Cli) with route/bridge commands for wiring media pipelines between SIP, WebRTC, and cloud realtime endpoints.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 8 reusable components found
wildfirechat/im-server ★ 8560 1916 APPLICATION

Wildfire Chat IM Server is a production-grade instant messaging backend built on a heavily customized Moquette MQTT broker. It provides MQTT-based client connectivity, HTTP REST APIs for admin/robot/channel management, and supports features like private/group/chatroom/channel messaging, file/media storage (local or Qiniu), push notifications, sensitive word filtering, conference/voice-video events, social moments, and multi-domain mesh federation. The architecture is a multi-module Maven project (broker, common, sdk, distribution) using Netty for networking, Hazelcast for distributed caching, and MySQL/H2 with Flyway migrations for persistence. The codebase demonstrates solid engineering with annotation-driven routing, protobuf message serialization, and a clean SDK for server-side integration. However, it suffers from a god-class in MemoryMessagesStore, duplicated configurations, vendored Netty MQTT codec, and some security concerns (hardcoded keys, weak XOR encryption). It is actively maintained with frequent schema migrations and feature additions, but the licensing is ambiguous (multiple license files) and documentation is primarily in Chinese.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
flutter-webrtc/flutter-webrtc ★ 4485 1446 APPLICATION

This repository provides flutter-webrtc, a Flutter plugin that wraps native WebRTC SDKs (Android, iOS, maccOS, Windowws, Linux, embedded Linux, and Web) to enable real-time audio/video communication, screen shaning, data channels, and end-to-end encryption. The architecture follows a common Dart interface with platform-specific implementations using method channels, event channels, and texture registries. Key entry points include the Dart factory classes (RTCFactoryNative/Web) and native plugin handlers (FlutterWebRTCPlugin on each platform). The plugin exposes a comprehensive WebRTC API including getUseMedia, peer connections, tranceivers, simulcast, stats, and E2EE via frame cryptors. It is actively maintained with regular commits and issue triage, but exhibits code duplication across platforms and some fragile patterns (reflection, monoilithic method handlers).

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
BelledonneCommunications/linphone-desktop ★ 506 258 APPLICATION

Linphone Desktop is a production-grade, cross-platform SIP softphone built on the Linphone C++ SDK and wrapped in a Qt6/QML user interface. It delivers audio/video calls, instant messaging (including group chat, file transfer, reactions, and ephemeral messages), conference scheduling, call recording, and presence management across Windows, macOS, and Linux. The architecture follows a strict MVVM split: model classes run on the Linphone SDK thread and expose Qt signals, while GUI-facing 'Core' classes live on the main thread and communicate with models via a custom SafeConnection template that enforces thread affinity. QML views bind directly to these cores, with list proxies (e.g., ListProxy, SortFilterProxy) providing paginated, filterable models for contact lists, call history, and chat logs. The codebase also integrates advanced features like OIDC/OAuth authentication, LDAP/CardDAV address book sync, end-to-end encryption (LIME/DTLS/SRTP), and system-level integrations (toast notifications, tray icons, screen-sharing, autostart) with per-platform backends. The repository is actively maintained with a modern build system (CMake), comprehensive GitLab CI pipelines (Linux, macOS, Windows, Squish GUI tests), and a substantial localization effort (multiple .ts files).

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
LubosD/twinkle ★ 200 62 APPLICATION

Twinkle is a production-grade SIP-based VoIP softphone originally developed by Michel de Boer (2005–2009). It implements a full SIP stack (RFC 3261, 3262, 3515, etc.) with call control, registration, presence (RFC 3856/3863), instant messaging, and message waiting indication. Audio is handled via multiple codecs (G.711, GSM, Speex, iLBC, G.722, G.726, G.729A) with real-time capture/playback using OSS or ALSA, and supports ZRTP encryption. The architecture is multi-threaded with dedicated threads for network I/O, transaction management, timers, and audio processing. It provides both a Qt5 GUI (with QML overlays) and a console/CLI interface. Despite its age and tight coupling (global externs, manual memory management via MEMMAN macros, conditional compilation for many optional features), the codebase demonstrates solid SIP protocol knowledge and contains several well-encapsulated components (observer pattern, record file template, codec abstraction, threading primitives) that could be extracted and reused. However, the project is effectively unmaintained (last release 1.10.0 in 2016), with heavy dependencies on outdated libraries (commoncpp, ccrtp, libzrtpcpp) and incomplete Qt3→Qt4→Qt5 migration.

RATING: 5.8/10 MAINT: stale DRIFT: high
▸ 5 reusable components found
tomek-o/tSIP ★ 201 41 APPLICATION

tSIP is a Windows-only SIP softphone application built on top of the baresip SIP user agent framework, which itself relies on the re (libre) and rem (librem) networking and media libraries. The repository bundles a large number of third-party libraries as source code: Opus, Speex, G.722, GSM, FFmpeg, OpenSSL, WebRTC audio processing, ZRTP (GNU ZRTP), PortAudio, SDL2, Scintilla, Lua, and JSONcpp. The tSIP GUI is written in Borland C++ Builder VCL, with forms for call management, contacts, history, programmable buttons, hotkeys, Lua scripting, and configuration. The architecture is a classic Windows desktop application with a modular plugin system for codecs and media sources. The codebase is a snapshot from around 2012-2015, with many outdated libraries and compiler-specific code, making it high-risk for reuse without significant modernization. It is not a data research project; it is a full-featured VoIP client.

RATING: 5.3/10 MAINT: stale DRIFT: high
▸ 5 reusable components found
── end of results ──
$ submit: