WengoPhone 2.1:Linux用の堅固なソフトフォン

 OpenWengoプロジェクトが先日、VoIPソフトフォンWengoPhoneのバージョン2.1をリリースした。WengoPhone 2.1は、Linuxユーザにとっては前リリースよりも大幅に改善されたリリースだ。

 電話網への接続が可能な商用SIPプロバイダであり、OpenWengoオープンソースプロジェクトの親会社であるWengoは、2.0のリリースサイクルにおいてはWindows用のビルドを重視しLinux版については基本的に省略という扱いをしていた。OpenWengoプロジェクトのLinux開発者たちは、2.0シリーズのLinux版のリリース候補の安定性に決して満足していなかったため、Linux版のバージョン番号を2.0に上げることはしなかった。

 しかしそのような2.0シリーズとは異なり、バージョン2.1は実際に堅固で安定したリリースとなっている。ただしバージョン2.0が存在しないことでユーザはいくらか混乱するかもしれない。例えば、実際にはどこにも存在しない2.0のコードへの参照がWengoPhoneのオンライン文書にあったり、2.0上に構築という記述が2.1の開発者向けサイトにあったりするなどの不整合が見受けられる。

 しかしOpenWengoのコミュニティ開発マネージャであるDave Neary氏は、そのような不整合は今後は起こらないようにする予定であり、またOpenWengoプロジェクトはリリーススケジュールを今後はより明確にしていく予定であることから、ユーザは安心して欲しいとしている。また、Linux用クライアントとMac OS X用クライアントを今後はどちらもWindows用の製品と同じくらい重視していく予定だとも述べている。

準備

 WengoPhoneの新しいバージョンは、openwengo.orgからダウンロードすることができる。ダウンロードページのクライアントOS検出コードが、使用中のオペレーティングシステムを自動検出して適切なダウンロードリンクを提示するはずだが、正しく検出されない場合には、ページの右側に表示されている各プラットフォーム版へのリンクを利用することができる。

 Linux版のリリースは24MBの圧縮されたtarファイルだ。ファイルがこれほど大きい理由は、WengoPhoneが依存するものすべてをバンドルし、1つの静的にリンクしたバイナリを作成しているためだ。ディストリビューションごとのパッケージが用意されるようになれば、パッケージ管理システムを使ってインストールに必要なものは別途用意することができるようになるので、ファイルはもっと小さくて済むようになるはずだが、しかしそれまでは、最近のすべてのLinuxシステム上で動くはずのビルドが一つだけリリースされることになる。tarファイルをダウンロードしたら、展開し、コマンドラインで./wengophone.shを実行しよう。

wengophone 2.1
WengoPhoneのSIP設定画面(クリックで拡大)

 おそらく今回のリリースで最大の新機能は、どのSIPプロバイダを利用するようにもクライアントを設定できるようになったことだ。以前のバージョンでは、利用できるのはWengoの商用サービスに限られていた。なおWengo.comなどでのアカウントを利用するようにするためには、Wengoメニューの中にある「Log off(ログオフ)」メニューから設定するのだが、メニューの名前が分かりにくいように思われた。とは言え、設定方法としては十分簡単だ。

 すでにWengoのアカウントを持っている場合には、単に設定ウィザードの中でユーザ名とパスワードを入力すれば良い。一方、新しいWengoのアカウントやサードパーティのSIPアカウントを設定する場合には、Configure a New Profile(新しいプロファイルを設定)ボタンをクリックして、さらにOther(その他)ボタンを選べばSIPの詳細な設定項目を入力することができる。

 アカウントを設定しておけば、ログオンの度にWengoPhoneが自動的に接続してくれる。またWengoPhoneをIMクライアントとして設定することもでき、AOL、Yahoo、MSN、ICQ、Google Talk、その他のJabberネットワークなどを利用することができる。なおIMアカウントに関しては同時に複数のアカウントを設定してログインすることができるが、SIPアカウントに関しては一度に使用することのできるアカウントは一つだけだ。

 私が試したところ、WengoPhoneのIMサポートに関して、使用中ずっと問題となった点が一つあった。具体的に言うと、手動でプレゼンスを接続切断状態に設定しているのにも関わらず、WengoPhoneが設定してあるすべてのIMアカウントに断続的に接続してログインしようとしてしまうことだ。これによってYahooやMSNのように複数の場所からのログインを許可していないネットワークでは意図せずして別のマシン上のセッションが中断されてしまうことになり非常に煩わしかった。

 一方SIPアカウントについてはこの問題は起こらず、手動で接続切断状態に設定すれば、接続は切断されたままになった。したがって現実的な結論としては、メインのマシンでメインのIMクライアントとしてWengoPhoneを使用するのでないのなら、今のところはWengoPhoneのIM機能は使用しない方が良いかもしれない。

 Linux版クライアントに固有の重要な変更としては、新しいネイティブのALSA音声バックエンドを使用するようになったということがある。以前のバージョンでは、クロスプラットフォームのサウンドライブラリであるPortAudioが、Linux上でALSAとOSSの両方に対するインターフェース層としての役割を果たすために使用されていた。しかしPortAudioのALSAインターフェースに問題があり、追加の抽象化層であるPortAudioの存在は開発者にとってはプラスよりもマイナスの側面が大きくなっていた。PortAudioが取り除かれた新しいビルドでは、ALSAがサポートしているすべてのサウンドカードとの互換性を維持しながらも、バグが減り、依存関係も一つ減ることになった。

 WengoPhone 2.1がサポートしているオーディオコーデックにはSpeexiLBCAMR-WBPCMuPCMAAMRGSMがあり、デフォルトではSpeexが使用されている。OpenWengoプロジェクトの公式な立場は、プロジェクトとして特に推奨するコーデックはなく、他のソフトフォンとの互換性を保証するために必要なすべてのコーデックのサポートを目指すというものだが、Speexのように特許のかかっていないコーデックの支持を具体的な行動によって身をもって示しているのは嬉しいことだ。

 一方ビデオに関しては、音声よりもサポートが貧弱だ。WengoPhone 2.1はLinux上のウェブカメラをVideo4Linux経由でのみサポートしている。ただしVideo4Linux2に関しても、サポートするためのパッチはすでに利用可能になっていて、今後のリリースでサポートが実現する予定だ。なおVideo4Linux互換のウェブカメラがあれば、H.263コーデックを使用してテレビ電話機能を利用することができる。