この記事は筆者オンリーのAdvent Calendar 20259日目の記事です。
今回はSIP/RTPの通信のテストで使われるSIPpについて記事を書きたいと思います。
SIP/RTPデバッグ用途でSIPpを使う(概要)
SIPの調査は sngrep / tcpdump / Wireshark が定番ですが、**「同じ条件のSIP発呼を何度も再現したい」**ときは SIPp が便利です。
SIPpは負荷試験ツールとして有名ですが、実務では デバッグ用の“再現器” として使うのがかなり強いです。
何が嬉しいの?
同じINVITEを安定して繰り返せる(再現性が上がる)
ヘッダやSDPを調整して 症状を意図的に作れる(切り分けが速い)
送受信SIPをログに残せて 証拠が取りやすい
どういう時に役立つ?
片通話 / 無音 / RTPが飛ばない などのRTP絡み
Codec不一致、SDPのIP/portがおかしい(NAT含む)
PBX/SBC/Proxy配下で 特定のSIP挙動を再現したい
クライアント依存の不具合を「ツール側で固定条件にして」切り分けたい
使い方のイメージ
SIPpで発呼(UAC)して、対象装置(PBX/SBC等)にINVITEを投げる
SIPpのログ(送受信メッセージ)を保存する
tcpdump/WiresharkでRTPが本当に飛んでいるか、SDP通りかを突き合わせる
デバッグでの基本セット
SIPの観測:sngrep / SIPpの送受信ログ
RTPの観測:tcpdump → Wireshark(RTP Streamsなど)
見るポイント:SDPの c=(宛先IP)と m=(宛先ポート)、payload type / codec
まとめ
SIPpは「負荷試験」だけじゃなく、SIP/RTP不具合の調査で重要な “再現性” を作るのに向いています。
ログ(SIP)+pcap(RTP)をセットで残せるようにすると、チーム内の共有や原因追跡がかなり楽になります。