忍者ブログ

FreePBXと050 Freeで月額50円以下でビジネス用レベルの最強IP電話を実現する話

このブログは、Linux系OSを使ったことのない人でも敷居が低いFreePBXおよび、IP電話最安値の050 Freeを一緒に使うことで低コストで法人向けレベルのサービスを享受するためのブログである。

   
カテゴリー「FreePBX」の記事一覧

Windowsしか使ってこなかった人でもできる! FreePBXの導入について 第三章 着信・発信・留守番電話

ようやく面倒な作業が終わり、ついに本格的に作業が進められる。

まず最初に、内線番号を割り振る。Asteriskでは、内線番号を割り振ることは、アカウントを発行することと同じである。
番号は好きな番号で良い。

上メニューの、Applications→Extensionsから内線番号を追加・削除・内線番号ごとの設定の変更ができる。

そして、Add Extensionで内線番号を追加するのだが、通常選ぶ通信プロトコルの種類は3つある。
  1. Chan_SIP
  2. PJSIP
  3. IAX2
Chan_SIPは従来までのSIPである。普通はこれで良いだろう。
PJSIPは新しいSIPである。新しい故に上手くいかないことが多く(自分だけかもしれないが)、あまりお勧めではない。
IAX2はSIPとは全く異なるプロトコルである。SIPに対して優れている点もあるが、携帯電話では消費電力がとても大きいので自分は発信専用として使っている。

ただ、普通に使うならChan_SIPで良いだろうので、ここではChan_SIPの説明のみする。

User Extensionに内線番号(兼ユーザーID)、Display Nameに内線発信時に相手方に出る名前、
Secretにパスワードを入力する。
また、User Manager Settingsで、ユーザーコントロールパネル(今後UCPと略す)でのIDとパスワードを設定できる。

次に、Voicemailタブを開く。ここで、留守録の設定ができる。

EnabledをYes,Voicemail Passwordを数字のみで設定し、Disable (*) in Voicemail MenuをNoにする。これだけで、*97にダイヤルするだけで留守録が聞けるようになるが、
Play CIDをYes,Play EnvelopeをYesにすることで、その留守録が録音された日時と、どこから掛かってきたのかがわかるようになる。

次に、Advancedを見る。
 
ここでやっておきたいことは、NAT ModeをAutomatic Force Bothにすることである。これでNAT越えをしやすくする。
また、消費電力を抑えるために、Qualify Frequencyの数字を大きくして、通信可能かどうか調べるためのパケットを送信する回数を減らすべきだろう。
また、携帯電話で使う場合は通信ラグを考慮して、Qualifyの数字を上げておこう。(5000でよいだろう)


内線番号だけ割り振っても、肝心の外部との着発信はまだ出来ない。
次にすべきことは、外部との通信を司るTrunkと言う項目だ。
Connectivity→Trunkで、この項目に入れる。

まず最初にするべきことは、このdahdiと書かれた項目を、右にあるゴミ箱ボタンを押して消すことである。(050Freeと一緒に使うだけならば絶対この項目を使うことはない)
次に、Add TrunkからAdd SIP (chan_sip) Trunkを選択すると、次の画面になる。

Trunk Nameは識別のためだけなので自分でわかりやすい名前をつける。
Outbound CallerIDには050686XXXXX(IP電話プロバイダーより割り振られた番号)を入力し、次にsip settingsに飛ぶ。

050Freeを契約している場合は、OutgoingのPEER Detailsに以下の文字列を入れる。
その他の事業者の場合は自分で調べよう。Trunk Nameは被らなければ何でもよい。
type=friend
host=softphone.spc.brastel.ne.jp
username=XXXXXXXX(ユーザーID)
fromdomain=softphone.spc.brastel.ne.jp
fromuser=XXXXXXXX(ユーザーID)
secret=ZZZZZZZZ(パスワード)
context=from-trunk
insecure=port,invite
disallow=all
allow=ulaw&gsm
canreinvite=no
さて、次にIncomingに行き、050 Freeの場合はRegister Stringに次の文字列を入力する。
(ユーザーID):@softphone.spc.brastel.ne.jp:(パスワード)@softphone.spc.brastel.ne.jp/先程作った内線番号

次に、上メニューのConnectivityからOutbound Routesに入り、
Add Outbound Routeを押す。すると以下のような画面が出てくる。

ここで、Trunk Sequence for Matched Routesに、先程のTrunkを入れる。
Route Nameは区別のための名前なので適当に、Route CIDには自分の電話番号を入れる。
また、Route Passwordを入れると、発信の度にパスワードを必要とする。セキュリティを重視するならこれも入れておこう。


次に、Dial Patternsの設定に移ろう。ここでは、発信先を制限することができる。
発信先を制限することは重要で、これを行なわないと、万が一アカウントが悪用された際に勝手に国際電話を掛けられてしまう可能性がある。
パターンは、0120XXXXXX,0NXXXXXXXX,0NXXXXXXXXXの3つで事足りるはずだ。
これらを1つずつmatch patternに入れればよい。
次に、このままだと英語の音声が流れてしまうので、日本語音声を流すための作業をする。
この作業はかなり簡単で、特にコマンドを打ったりする必要はない。
上メニューのAdmin→Sound Languagesを選び、Japaneseの音声を入手する。
日本の固定電話はulawを使っているので、コーデックはulawのみで良いだろう。

ダウンロードしたら、Change Global Sound Languageをクリックし、LanguageをEnglishからJapaneseにする。

最後にすべきはポート番号を変えることだ。
通常の設定ではSIPのポートが5061 or 5160,PJSIPのポートが5060になっているが、プロバイダーのサーバーは5060ポートを使っているので、このままだと上手くいかない。
PJSIPのポートを何か他の番号にずらし、(9999とか)SIPのポートを5060にしてやる必要がある。


Chan PJSIP Settingに入り、0.0.0.0(udp)のポート番号を適当な番号に変更し、Allow GuestsをNoにし、Chan PJSIP SettingのタブのままSubmitを押す。
次に、Chan SIP Settingsに入り、Bind Portを5060にし、Allow SIP GuestsをNoにし、やはりChan SIP SettingsタブのままSubmitを押す。
(この時、消費電力を抑えるためにも、Regitration Minimum/Maximum Expiryの2つの数字を上げておくと良い。上げすぎると着信に失敗するので、Min3600,Max7200で良いだろう。また、一番下のOther SIP Settingsに、tcpenable = yesを入れておくとTCPで通信ができるようになる。)
ここで、ポート番号を変えた(のとTCPを有効化する)ので、Asteriskを再起動する必要がある。(PC再起動はしなくてよい)
これを行うためには、上メニューのAdminから、Asterisk CLIに入り、core restart nowと入れ、SendCommandを押すと即座に再起動が開始する。

しばらくすると再起動が完了する。

これで作業が全て完了したので、自分のグローバルIPアドレスをソフトフォンからレジストしてみよう。
正しくレジストできていれば、サーバー-端末間の通信は正しくできている。
050 Freeユーザーであれば、05068680000がテストコール用番号なので、ここに掛けて正しく発信が出来ているか確認できる。
また、050 Freeは、自分から自分にかけることができるので、着信テストには、携帯電話とPCを用意して、片方をAsteriskに登録してかけてみると良い。

また、050Free,CloudSoftphone,Acrobits Softphoneのプッシュ着信がオンになっていると着信時の挙動がおかしくなることがあるので、サーバーを運用する上ではこれらを常にオフにすることを推奨する。(TCP通信が出来れば、常駐型のソフトフォンでもそこまで電池は食わないはずである、また、常駐型のほうが着信精度は高い。)
PR

Windowsしか使ってこなかった人でもできる! FreePBXの導入について 第二章 セキュリティ

さて、インストールお疲れ様です。

次に行うことは、メインPCからhttp://xxx.xxx.xxx.xxxにブラウザからアクセスすることである。

すると、次の画面が出てくるが、この画面でのユーザー名およびパスワードは、サーバー機で行なったrootのパスワードの設定とは全く無関係である。
ここで設定するのは今後使うであろう、GUI管理画面でのユーザー名およびパスワードである。

これを入力すると次の画面が現われるので、FreePBX Administrationを選択する。

すると、次の画面が出てくる。Activateしたい人はどうぞ。ただし、後からでもActivateはできる。

次の画面がとても大事で、ここでFirewallの設定ができる。

Continue→Nextを選び、
次に今使っているクライアントは信頼できるかどうか聞かれる。通常はYesを選択する。
その次に、現在使っているネットワークが信頼できるかどうか聞かれる。これは場合にもよるがNoのほうが良いかもしれない。
その次はResponsive Firewallを有効にするか聞かれる。これは、何回か間違えるとしばらくそのIPアドレスから入れなくなるようにするものなので、家の外からも使うならばYesにしておこう。
最後に、自動的にAsteriskのIP設定をするか聞かれるが、これは二重ルーターなどのとても複雑なネットワークでない限りうまくやってくれるのでYesでよいだろう。
仮に、二重ルーターなどのとても複雑なネットワークに入っている場合はNoを選択し自分で設定するべきだろう。

これが終わると次にSIP Stationを使わないかという誘いがくるがこんなもん使わなくとも使えるのでNot Nowを押して無視。

次にするべきことは、FreePBXは新しいネットワークは必ず信頼されるネットワークとして認識するので、即座にこの設定を変更することだ。

ConnectivityからFirewallを選択し、次に右のほうにあるZonesを選択。
 

次に、Interfacesを選択した後、全てのネットワークアダプターをExternalにする。最後にチェックを押さないと適用されない。


さて、その次にすべきことは、AboutのResponsive Firewallから、Responsive Firewallを有効にすることだ。
最初の設定時にやるだけでなく、次にプロトコル毎の設定も変える必要がある。

これにより、外部からも着発信が可能になった。
あとは必要に応じ、Servicesから、ネットワークの種類毎にアクセス権限を割り振っていけば良い。

ここまでがセキュリティの設定である。
面倒臭かったかもしれないが、面倒臭いのはここまでで終わり。
次からは楽しい楽しい実際に通話に関する部分、第三章である。

Windowsしか使ってこなかった人でもできる! FreePBXの導入について 第一章 OSインストール

この記事は主に今までWindowsしか使ってこなかった人を対象としている。

そのため、Linuxを使うことに慣れている人には少し説明が多く、読みづらいよう感じられるかもしれないが、ご了承頂きたい。

また、ここでは、サーバー機でない、実際にGUIで操作する方のPCをメインPC,サーバーとしてこれから稼動するPCをサーバー機と呼ぶ。

まず、FreePBXを導入するにあたり、以下の物が必要である。

  1. 2台のPC(片方はノートPC,できればRaspberry Pi等の超省電力PC)
  2. 十分な容量のUSBメモリ,SDカード or DVD対応の光学ドライブと書き込み可能なDVD(BDでも可だが高い)
  3. インターネット接続環境(サーバーは特に常時接続しておく必要がある)
  4. 基礎的なPC,ルーター設定の知識 (or/and) わからないことを調べる努力
ここまで見てゲンナリした方に朗報である。
私はここにLinuxについての知識とは書かなかった。
というのも、FreePBXは通常使用において、Linuxの知識はほとんど必要無いからである。(もちろんあるに越したことはないが)

まず前提知識として、FreePBXは無料で使うことができる。基本的な機能は無料で使える。一部モジュールが有料で金を取って儲けているのである。
また、USBメモリからOSをインストールできる。WindowsではDVDからインストールするのが一般的であるが、Linux系OSはUSBからインストールする人も多いようだ。

まず最初はメインPCで作業を行なう。

さて、まず必要なことは、FreePBXをインストールするためのデータをダウンロードすることである。

以下からダウンロードしてほしい。
https://www.freepbx.org/downloads/

環境に合わせて32Bitか64Bitを選ぼう。USBメモリ,SDカードからインストールする人はUSB IMGを選択し、DVD等の光学ディスクからの人はFULL ISOを選択しよう。


また、これをダウンロードしている間に、データを”焼く”(そのUSBメモリやディスクから起動できるようにする)ためのソフトを入れよう。

https://rufus.akeo.ie/

さて、この二つをダウンロードしたら、Rufusを使ってUSBメモリ等を焼こう。
  
まず最初にデバイスを選択し、
次に、ISOイメージの部分を、光学ディスク以外であればDDイメージにしよう。
それ以外の部分はいじる必要はないだろう。
全て問題無いならスタートを押して開始。

さて、ここからは、サーバー機で作業を行う。この作業ではキーボードのみを使う。

最初に、サーバー機がインターネットに繋がっていることを確認し、
BIOS(or UEFI)の設定から、USBメモリ等から起動するよう設定する。
すると、暫くした後に、以下のような画面が出るはずである。
ここからはキーボードの↑↓←→、Enter(return),space,tabキー等で操作を行う。
 
Asterisk11か13を選択できる。自分は13を利用しており、説明も13向けに書く。
ソフトウェアRAIDを利用しない場合は、No RAIDを選択してインストールする。
(ハードウェアRAIDを使用しているかRAIDを使用しない場合はNoRAIDを選択する。)
この際、起動後画面が真っ暗になってしまうようなことがあれば、インストールしたいオプションにしたら、tabキーを押し、~~~ nomodesetと付け加えよう。

また暫く待ち、次の画面になったらまた操作が必要になったということである。

IPv4,v6の2つのプロトコルに対応している。
基本的に、今後の設定が面倒にならないようにするため、最初からManual configurationを使い、サーバー機のプライベートIPは固定するべきであろう。
IPv6の有効化は任意である。
Manual configurationの場合、以下のような画面になるので、任意のIPアドレスを入力し、
サブネットマスクも入力する。/24または255.255.255.0の、どちらの入力方式も対応している。
また、デフォルトゲートウェイとDNSサーバーを入力する。自分はルーターがあるのでルーターを指定した。


次にタイムゾーンを設定する。この設定は時刻に関する設定になる。
日本に住んでいるだろうから、Japan/Tokyoで良い。
日本在住で無い方は自分の住んでいる場所を元にタイムゾーンを決めて頂きたい。

次に、root(管理者)のパスワードを設定する。強固なパスワードを設定しておこう。
また、将来いろいろやりたい場合や、他のコーデックを入れたい場合に使うだろう。

これが終わると、暫くは長い長いインストールに入る。

ある程度時間がかかるので、この間にサーバー機をDMZにするなり、いわゆるポート開放を行うなりすると良いだろう。

そして、再起動後、しばらくすると次の画面が出る。
この画面の状態でも次の作業にすすむことはできるが一応待とう。尚、5-10分では終わらない。

これも終わり、次の画面になったら無事終了。

サーバー機を手元に置いて作業する必要があるのはここまでなので、続きは第二章に。

プロフィール

HN:
zzz
性別:
非公開
自己紹介:
MVNOを契約し、最も安い050IP電話サービスである050 Freeを契約し、
その機能を補うべくAsteriskに手をだそうとしたが、失敗し、FreePBXに手を出し、ようやく安定してきた。

カウンター




P R

Copyright ©  -- FreePBXと050 Freeで月額50円以下でビジネス用レベルの最強IP電話を実現する話 --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]