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
を実行しよう。
おそらく今回のリリースで最大の新機能は、どの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がサポートしているオーディオコーデックにはSpeex、iLBC、AMR-WB、PCMu、PCMA、AMR、GSMがあり、デフォルトではSpeexが使用されている。OpenWengoプロジェクトの公式な立場は、プロジェクトとして特に推奨するコーデックはなく、他のソフトフォンとの互換性を保証するために必要なすべてのコーデックのサポートを目指すというものだが、Speexのように特許のかかっていないコーデックの支持を具体的な行動によって身をもって示しているのは嬉しいことだ。
一方ビデオに関しては、音声よりもサポートが貧弱だ。WengoPhone 2.1はLinux上のウェブカメラをVideo4Linux経由でのみサポートしている。ただしVideo4Linux2に関しても、サポートするためのパッチはすでに利用可能になっていて、今後のリリースでサポートが実現する予定だ。なおVideo4Linux互換のウェブカメラがあれば、H.263コーデックを使用してテレビ電話機能を利用することができる。
インターフェース関連の問題
WengoPhone 2.1では、ユーザインターフェースについても徹底的に見直され、磨きがかけられた。WengoPhone 2.1の見掛けは光沢があり今風になっている。また、ボタンなどのほぼすべてでツールチップがポップアップするが、これはほとんどのボタンなどには短い名前しか表示されていないことを考慮すると、重宝されるだろう。例えばFind Contact(相手を探す)ボタンの場合、ポップアップするツールチップには、このボタンからはWengoのユーザだけを探すことができ、IMのユーザを探すことはできないということが詳しく書かれている。
また、WengoPhoneウィンドウから1クリックで表示される情報が増えたことも嬉しかった。他のユーザのプレゼンスの状態(IMユーザを含む)、自分の各アカウントのプレゼンスの状態、自分のWengo.comアカウントのコールアウト残高、基本的な音声/ビデオ設定などがメインウィンドウからの1クリックで表示できるようになっている。以前のWengoPhoneリリースでは、ポップアップウィンドウを数多く開く必要があった。
もちろんインターフェースにもまだ欠点もあり、メインウィンドウのいくつかのインターフェースは、あたかも別のツールキットから取ってきたもののような見掛けになっていた(2Dデザインと3Dデザイン、タブと光沢のある立体的なAquaスタイルのボタンが混在している)。
とは言え、前述したログオンするために「Log Off(ログオフ)」ボタンを使うという分かりにくい点や、機能の並び方に一貫性がないということなどのように、単なる見掛けの問題ではないことの方がより深刻だ。例えばSend SMS(SMSの送信)はActions(実行)メニューの中にあるのに、File Transfer(ファイルの転送)はTools(ツール)メニューの中にある。またテレビ電話の有効/無効は画面上部にあるTools(ツール)メニューの中でのみ切り替えることができるのに、オンフックモードの有効/無効は画面下部にある、クリックで表示させる音声/ビデオメニューの中でのみ切り替えることができるようになっている。
またWengoPhoneには、私がUI関連で最も嫌っている類いのものがあった。つまり、普通のボタンやメニューの選択肢のような見掛けのインターフェースであるのに、実際にはシステムのデフォルトのウェブブラウザを立ち上げてリモートのサイトを表示するというものだ。仮にWengoPhoneが内部的にWengo.comサーバへ接続してユーザのアカウント残高を問い合わせて補充することができるのであれば、ユーザがWengoPhone内にとどまったままリモートのアカウントの詳細を編集することができるというのも良いかもしれない。しかしそのような少数の例外はともかく、単にハイパーリンクであるようなメニュー項目は、アプリケーションの機能であるものとは異なる見掛けになっている方が良いだろう。
ヘルプ関連
WengoPhone 2.1のインターフェース関連の欠点はどれも、毎日使用しているユーザにとっては深刻なものではない。ただ、VoIPもSIPも初めてだというユーザにとっては問題となるだろう。そのようなユーザにとっては文書とヘルプシステムが重要となるが、この点に関してWengoPhoneには優れている点も劣っている点もある。
WengoPhoneにはヘルプシステムが組み込まれておらず、オンラインのフォーラムとwikiへのリンクであるメニュー項目があるだけだ。wikiには現在では2.1用の最新版ユーザガイドがあるが、これは2.1がリリースされてから数週間経ってから追加されたものだ。wikiは英語で書かれているが、下手な英語で書かれている。さらに、同じ一つのwikiの中にFAQセクションと知識ベースセクションとユーザーガイドが存在し、そのため部分的に重複する情報を含むページが数多くある。
そして例えば、アナログ電話アダプタの使用に関して矛盾した情報がFAQと知識ベースのページに載っている。また試しに、電話番号に国際電話の国番号を付ける必要があるのかどうかをwikiで調べてみて欲しい。すぐに見つかりそうな情報のはずだが、なかなか見つけることができないと思う。
競合プロジェクト
古き良き「PCからPCへのSIP」を使用する分には、通話の品質、コーデックのサポート、オーディオデバイスの取り扱い、基本的な使いやすさという点において、WengoPhoneは類似のフリーな代替物であるEkigaとあまり変わらないが、高度な機能に関してWengoPhoneとEkigaには違いがいろいろとある。WengoPhoneではIMが統合されているが、一度に有効にすることができるSIPアカウントが1つだけに限られている。WengoPhoneもEkigaもテレビ電話をサポートしているが、EkigaはVideo4LinuxとVideo4Linux2の両方をサポートしている。WengoPhoneは電話網への接続サービスと統合しているので、PCから電話と通話するのが簡単になっている。Ekigaには、ルータのNATの設定を自動検出して適切に自動設定を行なう素晴らしい設定ウィザードがある。どちらの方があなたのニーズに合うのかは、あなたがどのような使い方をしたいのか次第だ。
とは言えWengoPhone 2.1は、クロスプラットフォームなVoIPアプリケーションの中でも、プロプライエタリなSkypeやGizmo Projectといったアプリケーションよりも間違いなく優れた選択肢だ。WengoPhone 2.1のLinuxビルドは、前回の2.0-RCリリースから大幅に改善されている。誰か別のオペレーティングシステムを使っている人にVoIPの設定をしてあげるときには、WengoPhoneを試してみると良いだろう。