Android用SIPクライアント

ケチケチ携帯大作戦」の一環としてAndroid用SIPクライアントを探した。もちろん、最近購入したソニエリことソニー・エリクソン (Sony Ericsson)のXperia X10 miniにインストールするためである。

Sipdroidが定番のようだが、まず最初のテストとしてひかり電話の子機として登録してみた。ここまでは問題なし。ところが、外線発信をしようとするとできない。Incompatible codecというようなエラーメッセージを出している。当然あっさり通るものと思っていたので驚いた。同様な問題に遭遇して、Sipdroidのソースまで見て解析された方がおられて、その方によるとSipdroidがビデオも扱えて、それをVoIPアダプタ(うちだとAD-200SE)に通知するのが問題なのだそうだ。

しかたないので、Linphoneを使用。あっさり登録も外線通話もできた。実はLinphoneのWindows版はこれまでもテストや実際の通話に使っている。複数のSIPアカウント("trunk"というのが正確らしいが)をサポートしているので選んだのだが、Android版は1つのみ。最終的には1つだけでよくなるはずなのだが、そこに到達するまでは複数扱えたほうがテストをするのに好都合。Sipdroidは2つまで扱えるのでよかったのだが。

そこで他にもあたってみたが、uWho SIP Dialerは、複数アカウント対応を謳っているのに実際には1つ分しか指定できない上に、UIがSipdroidの似通っていてしかも手抜き風。Sipdroidがオープン・ソースであるので、それを元にしているのだろう。そのくせ、ひかり電話の子機としての登録すらできないので、却下。広告もわずらわしい。

で、LinphoneでとりあえずホームLAN内でひかり電話の子機として使いつつ、Sipdroidで最終的に実現したい形態(後述)のテストをしようかと思ったのだが、PCと違ってAndroid端末ではダイアラーと密に統合されているためか、2つSIPクライアントを同時稼動させると不具合が生じる。本質的不具合ではないかもしれないが、使い勝手が悪い。なので、結局LinphoneはアンインストールしてSipdroid一本でテストをすることにした。

ところで、Sipdroidは、trunkを直接Siproidに登録するのではなく、pbxes.orgを利用することを強く勧めている。Pbxes.orgはどうやらAsteriskを利用したPBXサービスで無料アカウントでもある程度利用できる。Sipdroidが勧めるのは、trunkはpbxes.orgに加え、Sipdroidからはpbxes.orgに子機登録する、という形だ。Gizmoについてはこれで全く問題ない。ひかり電話についてはサーバ(VoIPアダプタ)が外部からアクセスできる状態ではないので(そうするのがよいわけでもないし)、Gizmoの場合のようにtrunkとして扱うことはできず、細工が必要になる。これについてはいずれまた詳しくは書こうと思う。

さて、後で知ったのだが、pbxes.orgの機能の一つとしてGoogle Talkをtrunkとして加えることができる。Google Talkを使えば、アメリカの国内電話は無料である。で、どうセットアップするかだが、pbxes.orgのドキュメントは決して充実しているとは言えず、自力で設定するのは難しい。Asteriskに習熟しているのならカンが働くのかもしれないが。幸いなことに、Sipdroidから、pbxes.orgのアカウントを作成し、そのアカウント上でGoogle Talkの設定、さらに内線生成とそれに応じたSipdroid自身の設定まで全部やってくれるので、それに任せてしまうのが一番簡単。

ところで、Google VoiceのAndroid用クライアントもある。Pbxes.org + Sipdroid の組み合わせでうまくいけばそれに越したことはないのだが、まだうまくいっていないので、こちらも用意してみた。これを利用するときにGVのアカウントに紐つけられているDIDが実際アカウント保持者のものかテストしようとする。GVからこの番号に電話がかけられるので、その電話に出てあらかじめ指定された番号を入力しなくてはならない。当然ながら以前持っていたシアトルの固定電話や携帯電話の番号は使えな
い。Gizmo5で取得したDIDはあるのだが、GVの前身のGrand
Central時代にGizmoと提携関係にあり、GCのコールバック番号としてGizmoのアカウントが利用できた関係で、Google
VoiceはそれがGizmoの番号であることを知っている(そうでなくてもGizmoはGoogleにその後買収されてしまった)。なのでそれも使えな
い。やむを得ずここにある方法と同様にIPKallでワシントン州のDIDを取得してこれを使ってクリア。

追記(12/7):GoogleはAndrod端末からm.google.com/voiceをアクセスすることでインストールできるとしているがそうしてみても見当たらない。自分はマーケットからインストールしたんだと思うが、今探してみるとこれも見当たらない。なぜだ?

いずれにせよ、きちんとGoogle Voiceアプリを使ったことがなかったので、試してみたが思うように動かない。GVで電話をかけるときは、GVはかけ手にコールバックし、さらにあて先にもコールし、それを繋げる形をとる。そのためコールバックに使う番号を指定するのだが、Gizmo番号は指定できないため、IPKallの番号を使うよう設定している。ところがGoogle Voiceアプリを使ったコールしようとしても、この番号宛にコールバックがない。この番号は他の手段でちゃんと生きていることは確認しているので、なぜコールバックがないのか、あるいはあっているのだがこちらで認識できないのか、謎である。

一方、Google Voice Callbackというアプリがあり、これはAndroid端末から電話をかけようとすると、(設定によっては)それをインターセプトして、GVにコールバックさせて通話を成立させる。同様なアプリは他にもあるようだ。このコールバック番号としては、GVアプリと違い、IPKallの番号だけではなく、Gizmoの番号を指定できる。それをSIPクライアントで受けるように設定しておくと、あっさり通話が成立してしまう。あっさり過ぎて拍子抜けするくらいだ。

広告
カテゴリー: Computers and Internet パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中