Awesome Real Time Communications
Real Time Communicationsを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
サーバーソフトウェア
汎用
- FreeSWITCH - オープンソースのマルチプロトコル、クロスプラットフォームなソフトウェアスイッチ。
- Asterisk - 複数のプロトコルとプラットフォームをサポートするPBXフレームワーク。
SIPサーバー
- Kamailio - キャリアやプロバイダーに広く導入されているオープンソースSIPサーバー。旧称OpenSER。
- OpenSIPS - OpenSER(現在のKamailio)に起源を持つオープンソースSIPサーバー。
- Routr - Node.jsで書かれた軽量SIPプロキシ、ロケーションサーバー、レジストラー。
- Sippy B2BUA - Pythonで書かれたバックツーバックユーザーエージェントサーバー。
- Flexisip - プロキシ、プレゼンス、グループチャット機能で構成されるSIPサーバースイート。
メディアサーバー
- Janus - 軽量なオープンソースの汎用WebRTCゲートウェイ。
- LiveKit - スケーラブルなリアルタイム音声・動画アプリケーションを構築するオープンソースWebRTCインフラストラクチャ。
- RTPProxy - 汎用の高性能RTPプロキシ。
- RTP:Engine - カーネルモジュールとして利用可能な、RTP・UDPベースのメディアトラフィックプロキシ。
- mediasoup - 特化型WebRTC会議システム。
- SEMS - SIPベースVoIPサービス向けのオープンソースメディア・アプリケーションサーバー。
- Jitsi - 会議ソフトウェアに重点を置くRTCオープンソースプロジェクトのコレクション。
STUN/TURN
-
coturn - 複数プラットフォームをサポートする、機能が充実したTURN/STUNサーバー。
-
eturnal - Erlangで書かれたモダンでスケーラブルなSTUN/TURNサーバー。
-
natcheck - NATタイプ診断CLI。STUNサーバーを調査し、RFC 5780に従ってマッピング動作を分類し、WebRTC直接P2Pの予測を報告する。
-
STUNTMAN - RFC準拠のオープンソースSTUN実装。
運用
監視
- sngrep - ターミナルベースのSIPフロービューアー。
- sipgrep - SIPトラフィックのスニッフィング、キャプチャ、探索を行うコンソールツール。
- rtpbreak - RTPセッションを検出、再構築、分析する。
- HOMER - RTC向けマルチプロトコルのキャプチャ・監視フレームワーク。
- WebRTC Troubleshooter - セルフホスト可能なワンストップのクライアント側WebRTCトラブルシューター。
- Trickle ICE - クライアント側のNATトラバーサルデバッグデータを公開する。
- SIP3 - VoIP・RTCトラフィックの監視・分析プラットフォーム。
テスト
- SIPp - SIPプロトコル向けトラフィックジェネレーター。
- SIPVicious - SIPベースのVoIPシステム監査に使用できるセキュリティツールスイート。
- sipsak - SIPストレス・診断ユーティリティ。
- sipexer - モダンで柔軟なSIPコマンドラインツール。
デプロイ
- slimswitch - 無駄がなく安全なFreeSWITCH Dockerイメージを作るツール群。
Web/APIインターフェース
- Eqivo - オープンソースのプログラマブル音声・電話APIプラットフォーム。
- Kazoo - FreeSWITCHとKamailioを使うキャリアグレードVoIP APIプラットフォーム。
- FusionPBX - FreeSWITCH上に構築されたマルチテナントシステム。
- FreePBX - Asterisk用ウェブマネージャー。
- Fonoster - Node.jsで構築された通信スタック。
- Wazo - Asterisk、Kamailio、RTPEngine上に構築されたVoIP APIプラットフォーム。
- jambonz - 通信サービスプロバイダー向けに構築されたオープンソースCPaaS。
- IVOZ Provider - VoIP電話プロバイダー向けのマルチテナントソリューション。
- Sayna - WebSocketストリーミング、SIP電話、差し替え可能なSTT/TTSプロバイダーを備えた音声AI向けリアルタイム音声インフラストラクチャ。
課金
- CGRateS - キャリアグレードのオープンソース課金・料金計算サーバー。
- A2Billing - 複数アプリケーション向けAsterisk課金システム。
- PyFreeBilling - KamailioとFreeSWITCH向け卸売課金プラットフォーム。
開発者リソース
チュートリアル
- Official Website - 初級レベルのWebRTCリソース。
- Getting Started With WebRTC - HTML5 RocksによるWebRTCチュートリアル。
- WebRTC Samples - WebRTC APIのさまざまな部分を示すサンプル集。
- WebRTC Experiments - Muaz Khanによる包括的なサンプルリスト。
- Interactive Codelab - Googleによる30分の段階的ライブチュートリアル。
JavaScriptライブラリ
- drachtio - Node.js SIPサーバーフレームワーク。
- adapter.js - WebRTC仕様の変更・不整合を抽象化するJavaScript shim。
- JsSIP - 軽量なオープンソースJavaScript SIPライブラリ。
- sipML5 - WebRTCメディアスタックを持つオープンソースJavaScript SIPクライアント。
- simple-peer - Node.jsとブラウザー向けのWebRTC動画・音声・データチャネル抽象化。
- Netflux - クライアント・サーバー向けの同型JavaScriptピアツーピア転送API。
- PeerJS - WebRTC上に実装されたデータ・メディアP2P接続API。
- Socio - WebSocket Real-Time Communication(RTC)APIフレームワーク。リアルタイムのフロントエンド・バックエンドリアクティビティ。
C/C++ライブラリ
- libre - メディア処理、STUN/TURN、モジュール式ユーザーエージェント向けの付属ライブラリを備えた移植性の高いSIPスタック。
- PJSIP - Cで書かれたマルチプロトコルRTCライブラリ。
- eXosip - SIPプロトコルを抽象化する成熟したCライブラリ、eXtended osip。
- libdatachannel - スタンドアロンのWebRTC DataChannels C++実装。
- icey - FFmpegパイプライン、Sympleシグナリング、RFC 5766 TURNを備えるC++20 WebRTCメディアランタイム。
- libSRTP - C向けSecure Real-time Transport Protocol(SRTP)ライブラリ。
- usrsctp - 移植性の高いStream Control Transmission Protocol(SCTP)ユーザーランドスタック。
- rawrtc - 小さなフットプリントのWebRTC・ORTCライブラリ。
- OSS Core - リアルタイム通信向けの汎用C++ライブラリ。
- Open WebRTC Toolkit - 複数プラットフォーム向けバインディングを備えたWebRTC開発ツールキット。
- Sofia-SIP - FreeSWITCHが使用するオープンソースSIPライブラリ。
Goライブラリ
- Pion - Goで書かれたWebRTC向けの広範なソフトウェアスタック。
- gossip - Goで書かれたステートフルユーザーエージェント向けSIPスタック。
- siprocket - 高速なSIP・SDPパケットパーサー。
- go-diameter - RFC準拠Diameterプロトコルライブラリ。
PHPライブラリ
- RTCKit/SIP - PHP 7.4+向けRFC 3261準拠のSIP解析・レンダリングライブラリ。
Pythonライブラリ
- aiortc - asyncioを使うPython向けWebRTC・ORTC実装。
- Katari - SIPスタックアプリケーションフレームワーク。
- peerjs-python - PeerJSピアツーピア接続ライブラリのPython移植版。
Erlangライブラリ
Rustライブラリ
- libsip - ソフトフォンクライアントを主眼としたSIP実装。
- sipcore - SIPアプリケーション作成のためのRustフレームワーク。
- rtcrs/webrtc - SDP、RTP、RTCP、SRTPをサポートするWebRTCスタック。
Dartライブラリ
- dart-sip-ua - WebSocket経由のSIPに対応するJsSIPのDart-lang移植版。
ブログ
- BlogGeekMe - WebRTCに強く焦点を置くTsahi Levent-Leviのブログ。
- SIP Adventures - Andrew Prokopによる統合コミュニケーションブログ。
- WebRTCHacks - 独立した技術者によるWebRTCブログ。
ディスカッション
- FreeSWITCH Slack - 利用者・開発者向けサポートとして#freeswitchと#freeswitch-devに参加する。
- discuss-webrtc - WebRTCの議論を行う開発者向けGoogle Group。
イベント
- ClueCon - FreeSWITCH発祥の地であり、シカゴで開催される通信開発者向け年次会議。
- Kamailio World - Kamailio、VoIP、WebRTC、IMS、VoLTEなどに焦点を置くベルリン開催の年次イベント。
- AstriCon - 米国各地で毎年開催されるAsteriskに焦点を置いたイベント。
- CommCon - 英国で開催される、一般的な通信、とりわけWebRTCに焦点を置いた年次会議。
- OpenSIPS Summit - OpenSIPSコミュニティの集会場所。
- Kranky Geek - サンフランシスコのAI・RTCイベント。
- FOSDEM - 欧州で毎年開催される、RTCコンポーネントを含むソフトウェア開発者向けの無料イベント。
- JanusCon - JanusとRTC実装者のためのライブイベント。
- TADHack - プログラマブル通信に焦点を置くグローバルハッカソン。
関連リスト
- Awesome RIPT - 電話通信のためのリアルタイムインターネットピアリング。
- Awesome RTC Hacking - リアルタイム通信のハッキング・ペネトレーションテストリソース。
- Awesome 5G - 5Gのフレームワーク、ライブラリ、ソフトウェア、リソース。
- Awesome Cellular Hacking - 3G/4G/5Gセルラーセキュリティ領域における研究リソース。
- Awesome Telco - Telcoリソース・プロジェクト。
- SIP Resources - Kamailioの主任開発者が厳選した有用なSIPリソース。
コントリビュート
貢献を歓迎します。まずコントリビューションガイドラインをお読みください。