Linphone for Mac OS X
このページはLinphoneを
Mac OS Xで動かすためのプロジェクトのページです。私が書いたコー
ドはすべてBSDライセンスを適用するつもりなのGPLおよびコマーシャ
ルライセンスでも利用可能になります。Linphoneの本家の開発のサイトは
こちら。
LinphoneはGPLとコマーシャルライセンスのオープンソースなので
商用のアプリケーションでソースを公開できないプロジェクトで使
用する場合は、コマーシャルライセンスを契約する必要があります。
実はmacsnd.cのコピーレフトしてくれとプロジェクトメンバーに連
絡を受けたのだが、コピーレフトするためには契約書が必要になり、
面倒だったのでBSDライセンスとしてコピーレフトにせずに組み込ん
でもらった。そもそも趣味のプログラミングは自由にコードを書い
ているのに、それに契約が必要になるのは違和感がある。
ソースを書いたのはバージョン1.7の頃だったが2.0以降のソースツ
リーにマージされている。どうにか2.0系のlinphonecもビルドでき
ているのだが、いろいろ細かい設定が必要になっていて、少し手間
を省けるように、本家のメンバーと調整したいと思っている。
/usr/local/libなどのシステムのパスにライブラリをコピーしない
で利用可能な、アプリケーションや開発環境にしたい。osipの作者が
Linphoneにも関わっていて、Mac関係のコードをいじっているのだ
が、ちょっと意見が合わないが、なんらか作戦を考えたい。
CoreAudioのコードを書いてから知ったのだが元々Linphoneは
PortAudioというドラ
イバを使えばMacOS Xでも使えていたようだ。私はPortAudio版は
試していない。
もう一つ後から知ったのだが、LinphoneのビデオサポートにQuickTime
のビデオキャプチャーコードが含まれている。
ビデオサポートのためにはFFmpeg
とSDLが必要になりこちらも
試していない。
LinphoneのボイスのCODECはソースに組み込まれているPCMA/PCMUと
Speexが必須で
GSM
がオプションで組み込める。メーリングリストに昔
iLBCをサポートする
コードが上がっていたが現在はそのコードは含まれていない。おそらく
Linphoneはコマーシャルでの利用もあるので、ライセンス上外してしま
ったのかもしれない。
ここにフリー系のCODECのライセンス関係の説明がある。
■ .linphonercの設定
[sip]
default_proxy=0
[proxy_0]
reg_proxy=sip:sip.example.com
reg_identity=sip:foo@sip.example.com
reg_expires=600
reg_sendregister=1
publish=0
■ 認証が必要な場合には下記を追加
[auth_info_0]
username=foo
passwd=hogehoge
realm="sip.example.com"
MacOS X 10.5以降でサポートされている、Audio Queueサービスを使った
mediastremer2のコードを書いてみた。(2008/08/28)
以前書いたCore AudioのAudio Unitを使ったコードは試行錯誤の上にで
きたコードで汚い上に環境依存が激しいよくないコードになってしまっ
ているようなので、いつか直したいと思ったが、いつになることやらです。
すんません。
■ 動作確認のためにSIPパケットのキャプチャ方法
% tcpdump -x -s 1024 -i en1 -nX '(udp) and (port 5060)'
テストのために調べたSIP関係の情報はこちら。
(c) 2007-2008 Hiroki Mori