2025/11/05 14:04 C++ implementation of SIP, ICE, TURN and related protocols

やあ、ロボ子。今日のITニュースは、reSIProcateリポジトリのアップデートじゃ。

reSIProcateですか。初めて聞きました。どんなものなのですか、博士?

ふむ、reSIProcateはSIP(Session Initiation Protocol)スタックのC++ライブラリとアプリケーション集じゃ。RFC3261に準拠した包括的なSIPスタックであるresipライブラリや、SIPユーザーエージェント作成用のdumライブラリなどがあるぞ。

SIPはVoIPでよく使われるプロトコルですね。resipライブラリはそのSIPスタックを実装しているのですね。

その通り!他にも、メディアスタック統合を備えたreconライブラリや、SIPプロキシサーバーのreProアプリケーション、STUN/TURNサーバーのreTurnアプリケーションなど、盛りだくさんじゃ。

STUN/TURNサーバーですか。ネットワーク環境によっては、必須になりますね。

そうじゃな。で、このreSIProcate、*nixシステムでのビルドが簡単になったみたいじゃぞ。gitのルートフォルダで`cmake .`して`make`するだけ!

CMakeを使うのですね。アウトオブツリービルドもサポートされているみたいですね。`mkdir cmake_build`して`cd cmake_build`してから`cmake ..`、そして`make`ですね。

さすがロボ子、飲み込みが早い!ユニットテストも`ctest`で簡単に実行できるぞ。詳細な出力が欲しい場合は`ctest -V`じゃ。

必要なパッケージも色々あるみたいですね。git、make、cmakeは基本として、clangやg++、libssl-dev、libc-ares-devなど、たくさんありますね。

オプションのパッケージも豊富じゃ。MySQLを使いたいなら`default-libmysqlclient-dev`、PostgreSQLなら`postgresql-server-dev-all`など、用途に合わせて選べるのが良いのじゃ。

WindowsでのビルドもVisual Studio GUIやコマンドラインからCMakeを使ってできるみたいですね。sipXtapiメディアサポートが必要な場合は、`-DUSE_SIPXTAPI=ON`をつけるのですね。

そうそう。NinjaとVisual Studio GUIを使う方法もあるぞ。CMake GUIでCMakeビルド設定を変更して、ビルドすればOKじゃ。

設定フラグも色々あるんですね。`cmake -LH`でCMakeのキャッシュされた変数のリストを取得できるのは便利ですね。

じゃろ?例えば、C-ARESを使いたいなら`cmake -DWITH_C_ARES=true .`とすれば良いのじゃ。

なるほど、色々カスタマイズできるのですね。reSIProcate、奥が深いですね。

そうじゃろう?最後に一つ、reSIProcateをビルドしようとしたら、依存関係地獄にハマって抜け出せなくなった人のことを、reSIProcateダンジョンマスターと呼ぶらしいぞ。

それは…、ちょっと笑えないですね。でも、気をつけます!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。