このページの内容

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向け卸売課金プラットフォーム。

開発者リソース

チュートリアル

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ライブラリ

  • NkSIP - 拡張可能なSIPサーバーフレームワーク。
  • ersip - SIPアプリケーション向けビルディングブロックで構成されたライブラリ。

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リソース。

コントリビュート

貢献を歓迎します。まずコントリビューションガイドラインをお読みください。