これまで何回かに分けて書いてきたが、一応イオンSIMの100kbpsでVoIPで音声通話ができたのでまとめておこう。

用意したもの。
iPhoneとAEGphone、
LinuxサーバとAsterisk、
ソースコードの読み書き能力、
あきらめない気持ち。

iPhoneはあらかじめjailbreakしておく。

低帯域のコーデックを使う。具体的には、speex mode1を使う。

tcpでsip, rtpをトンネルする。具体的には、stoneを使う。

パケットあたりのデータ量を多くする。具体的には、一つのrtpパケットに複数のspeexフレームを収める。さらに、トンネル時に複数のudpパケットを一つのtcpパケットに収める。

とても大きいジッターバッファを使う。アスタリスクは設定でてきる。エイジフォン側は、自分でコーディング。

これでイオンSIMでもVoIPができた。ただ、遅延は大きい。よくて、衛星電話くらい、ひどいと、ボイスメッセージを頻繁にやり取りしている感じか。基本的には、通話相手が遅延があることを理解していないと難しいかな。

それでもできるとできないでは大違い。便利に使っている。こんなブログでも誰かの役に立てばいいな。

おしまい。