ひかり電話の子機持ち出し~構成編その2

ひかり電話の子機持ち出し~構成編その1の続き。

「その1」は、ひかり電話の子機持ち出しを考える上で、必要になる通信帯域を節約するため、VPN使用と、PCMUコーデックの使用は避けるのが望ましい、という話をしたところで終わった。

携帯「電話」として使用するつもりのX10 miniで使うSIPクライアントを探したときに、その定番とされているSipdroidがPBXesの併用を強く勧めていることを知った。PBXesはAsteriskを利用したPBXサービスで無料アカウントでもある程度利用できるWebから設定できるようになっているが、そのWebインターフェースはどうやらFreePBXを利用しているようだ。さて、普通にやるとSipdroidからtrunkを直接アクセスするのだが、Sipdroidが勧めるのは、そうではなく、trunkはPBXesに加え、Sipdroidは 子機としてPBXesに登録し、それを介してtrunkを利用する、というやり方だ。

Sipdroidからすると、このような使用法であれば、SipdroidとしてはPBXesだけにきちんと対応しておればよく、ややもすると細かな違いのあるSIPサービス・プロバイダ (trunk)に個々に対応するより手間が省けてる、という利点がある。

使う側から見ても利点がある。Sipdroidに直接登録できるtrunkは2つまでだが、PBXesにはもっと登録できる。また、SIPクライアントとPBXesとの通信に1本化されるためSIPトラフィックがそうでない場合に比べて減るであろう。さらに、PBXesにGoogle Talkをtrunkとして加えることができるので、アメリカ国内への通話が無料にできる。これは似通ったことは、Android端末に閉じた形でGoogle Voiceを利用して実現できるが(Android用SIPクライアント」を参照)、どうせSipdroidを使うのであれば、PBXesに一本化してしまったほうが扱いやすい。PBXesはSkypeコールもサポートしているが、通話したい相手のアカウントごとにあらかじめ内線を設定しておかなければいけない上、Skypeコールの時間は3分までとなっているので、実用性に限りがある。

ひかり電話に話を戻し、それではひかり電話もtrunkとしてPBXesに加えてしまえばよいのか?もちろん技術的には可能であるが、そのためにはひかり電話のVoIPアダプタそのものか、それに子機接続しているAsteriskのようなソフトPBXサーバを、PBXesが外部からアクセスできるようにせねばならず、「その1」で書いたように不正使用の危険性を高めてしまう。PBXesをホームLANにVPN接続させて、セキュリティーを高めることもできなさそうだ(未確認)。

余談だが、逆方向のVPN接続は可能である。つまり、PBXesのサーバ側にVPN (PPTP)サーバ機能がある。無料アカウントのユーザにもこの機能を使用することを許している。ただし、お金ではないがコストが発生する。PBXesは無料アカウントのユーザに、2000分の通話時間を提供している。これは私にとっては十二分な(12分ではない)時間だ。また、しかしVPN接続すると、その時間がこの2000分の通話時間の一部として数えられる。そうすると、2000分はあっという間に使い切るだろう。

Gizmo5のような一般のSIPサービスプロバイダを直接trunkとしてPBXesに加えるのは全く問題ない(図参照)。しかし、ひかり電話をそうするのは、上に上げたような理由で可能ではあっても望ましくない。ではどうするか?ひかり電話の子機として登録済みのAsteriskのようなソフトPBX(私はFreeSWITCHを使っているが)に、PBXesに子機登録させ、PBXes側ではextensionではなく、subPBXとして扱わせればよい(図参照)。subPBXという用語がどれほど一般的なのかは知らないが、入ってきたコールを転送する先として利用できるextensionのことだと自分では理解している。このようなセットアップをしてやると、X10 minのSipdroidから発信したコールを、PBXesが私のホームLANにあるソフトPBXに自動的に転送するようにできる。

これは以前考えたことの延長である。Trunkとして扱う場合は、PBXesからソフトPBXにSIP通信が最初に起こる。これが通るためにはポート開放する必要がある。上に述べたようなセットアップであれば、逆方向の、つまりホームLANの内側から外側へのSIP通信が最初に起こる。なのでファイアウォール越えは問題ない。ただし、RTP通信のためのポート開けは、うちの場合FreeSWITCHがUPnPで行っているはずである。

このセットアップで、VPN接続の必要が全くなくなったとはいえないにしろ、SIP通信のためにポート開放するのに比べれば、安全になったといえるだろう。

さて、このセットアップを成立させるためには、さらにPBXesで以下の設定が必要になる:

  • あらゆるinbound callがX10 minのSipdroidに当てられた内線にrouteされるようにする。
  • 通常のoutbound callがsubPBXのFreeSWITCHにrouteされるようにする。SipdroidにGoogle Talkを利用するようにPBXesを設定させた場合は、アメリカの国内番号のみGoogle Talkにrouteされるように変更。

また、FreeSWITCHで、「左から右へ」、「右から左へ」の設定も必要。つまり、ひかり電話のinbound callをPBXesに投げるように、また、PBXesからのinbound callもひかり電話VoIPアダプタに投げるように、それぞれ設定。いずれはFreeSWITCHにIVR/AAをさせたいので、前者については最終的にはもっと込み入ったことをするようにしたいが、とりあえずはこれでOK。ここの「左から右へ」、「右から左へ」の設定のしかたはコーデック操作に絡んでくるので、次回また詳しく。

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

ひかり電話の子機持ち出し~構成編その2 への1件のフィードバック

  1. もりい より:

    はじめまして、もりいと申します。
    現在AstariskNowを使って同じ事に取り組んでいるのですが、右から左に、左から右にというところのPBXeの設定を教えていただけないでしょうか。
    ちなみに、ひかり電話の着信をPBXes側の内線端末に着信させることは出来るようになったのですが、PBXes側の発信をひかり電話を使う所で引っかかってしまっていて、既に週末を含めて4日試行錯誤を繰り返しているのですが、うまくいかないのでご教授頂きたいのえすが、いかがでしょうか。

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中