仕事だけの日常を忘れて、DIYを楽しみましょう。やってみれば今まで見えなかった事も見えてくる。何でもできるよね!dekiruyone.com

FreePbxに機能を追加

1.番号非通知の電話を拒否?

2か月に1回程度ですが電話番号非通知で無言電話がかかってくることがありました。せっかくの自家製PBXなので対策を講じることにしました。最初はanonymous専用の「インバウンドルート」を作ったりしましたが、

異常に簡単に「番号非通知の電話を拒否?」できる方法

が見つかりましたのでご披露します。
FreePbxのメインメニューから

「接続」→「インバウンドルート」

と開いて既に存在していると思いますがそのインバウンドルートの
アクション欄のゴミ箱アイコンの隣の「鉛筆アイコン」(編集)をクリック
します。

 1-1メニュー接続からインバウンドルート

 1-2プライバシーマネージャを「はい」に設定

「プライバシータグをクリック」して
「プライバシーマネージャ」を「はい」に切り替えます。

あとは右下の「送信」をクリックし「設定適用」(appy)をクリックするだけです。
試しに「184」をつけて自宅に電話してみてください。明朗快活な「Ryoko SONODA」さんの声で

「電話番号非通知です。あなたの電話番号を市外局番から入力してください」

とアナウンスされます。実際自分の番号を入れてみたことはありませんが非通知希望の方は番号は入れないと思います。電話番号非通知着信が何も言わずに切断することがありませんので若干感じがよいと思います。しかし、たったこれだけのことを見つけるのに一年半かかってしまいました。日本語の各種Webサイトには新しめの資料が少ないです。なおFreePbxバージョンは現時点で「13.0.194.5」Asteriskは「13.17.1 」です。

2.IVR 自動音声応答の設定

IVRとは(Interactive Voice Response)の略称で自動音声応答のことです。
ACDとは(Automatic Call Distributor)の略称で着信呼自動分配装置のことです。
よくメーカーサポートなどに電話すると

商品購入時の質問については「1」を
商品の故障は「2」を

などと専門窓口ごとに電話先を選択するやつです。
なんでこんなものを一家庭が必要になったかと言いますと。年寄りには着信転送の方法を紙に印刷して、実際に操作までして説明したのですが。実際に電話がかかってみるとそのような転送操作は無理でした。何度となく本家の受話器を上げたまま、わざわざ新宅まで知らせに来てしまいます。90歳を超すと新しい操作は許容しないと言う事ですか。こうなったら着信してから転送するのではなく、着信する前(ベルが鳴る前に)に電話をかけてきた方に本宅・新宅のどちらに御用なのか選んでもらい着信する仕組みを設定するしかない。ということでIVRとACDの導入となったわけです。
例によって日本語のFreePbxによる設定例はほとんど見当たりません。検索ヒットするのは50万/月・100万/月でIVRなどがほとんどです。たまにあってもmakeしてスクリプトを書いて....。というブラウザからGUIで設定しようという価値観があんまり無くて、これではFreePbxは不要ですよね。英語のページを参考にやってみると結構簡単にIVR・ACDが設定できましたのでご紹介します。もちろん黒い画面での設定は要りません。

 2-1案内用の音声を準備する

まず電話が着信した時にかけてきた相手に聞かせる案内用の音声を準備します。私は自分の声を録音してWAVファイルとして保存して使用しました。これが一番電話を掛けてきた人に安心感を与えますし抑揚・子音など明瞭です。他にボーカロイド系ソフトシンセにしゃべらせる。とかテキストスピーチ系ソフトにしゃべらせることもやってみましたが不明瞭で抑揚・子音などを含めてどうしても「怪しい」感じになってしまいました。「怪しいのがいい」と思われる方はそちらをどうぞ。Windows標準のテキストスピーチ・無料の「balabolka」、ボカロの先がけ「初音ミク」などがあります。
それでは自分の声を録音します。「Audacity」などの録音・編集ソフトを準備します。私は、長年使いなれたCakewalk Sonarを使用しました。

余談ですかこの「Cakewalk Sonar」というソフト10万円以上で販売していたソフトですがティアック→ギブソンと代理店が変わり2018年4月よりBandLabと言う企業がベンダーとなり、なんと「Cakewalk by BandLab」の名前で無料ソフトになりました。キャー (;^_^A 
さらに「BandLab Assistant」をインストールすると「リズムサンプル・シンセリフ」なども使えるようになったりします。本格的にDAWをやろうという方には「Cakewalk by BandLab」いいです。(アカウント登録必要)

録音ソフトが準備できたら、しゃべる内容を決めます。色々考えましたが

「はい、苗字でございます。父名・母名に御用の方は「1」をそれ以外に御用の方は「2」をプッシュしてください。ボタンの無い方やよくわからない方はそのままお待ちください。」

にしました。もちろん電話が8台各部屋にありますから、それぞれに振り分け選択もできますが、だらだら長い案内を聞く側の身になって考えるとこの程度がベストと判断しました。
では録音してみます。
sonarでコンプレッサとパラメトリックイコライザを画像の程度かけて録音しました。Audacityを使った場合は録音してから、コンプレッサー・ピッチ変更・イコライザなどの効果を適用できるようです。傑作が出来上がったら、WAV形式でエクスポートします。ファイル名は適当に「1st.wav」でも何でも構いません。

  2-1-1ソナーの画面

  2-1-2 新ソナー

  2-1-3 Audacity編集画面

  2-1-4 balabolkaの画面

新ソナーは
2018/4/現在は英語表示のみでしたが5月の連休中に「Cakewalk by BandLab」のアップデートがあり、
その際に「日本語」が選択できるようになっていました。さらにすごい!

 2-2.音声ファイルをfreepbxに設定する

出来上がった音声ファイルをfreepbxに設定します。最初にfreepbxのメインメニュー

「アドミン」から「システム録音」→「録音追加」

とクリックします。一番上の「name」欄はfreepbxで使用される音声名となります。(freepbxの関係するプルダウンメニューに表示される名前になります)私は「最初の案内」としました。その下の「Description」欄はこの音声名の説明文です。私は「新宅なら1それ以外が2をボタン無しはそのまま案内」としました。

次に、

「Convert To 」の項目の「Ulow」と「wav」

を選択します。

次に、

「Upload Recording」の横の「Browse」をクリック

します。ファイル選択のダイアログが出ますので先ほど録音したファイル「1st.wav」を選んで「OK」します。

試しに黒色再生アイコン▶をクリックしてみてください。録音した声が再生されると思います。あとは画面右下の「submit」クリック後「appy」(なぜかここは英語表示)で保存されます。これでfreepbxのシステムでこの音声が使えるようになりました。

 2-3.着信グループの確認

最初に書きましたが、うちの場合は「本家」と「新宅」に振り分けて、ボタン選択されないときやタイムアウトの場合に「全内線」に着信するように設定しますから。着信グループを作っておきます。メインメニューの「アプリケーション」から

「着信グループ」→「着信グループ追加」

とクリックし下記の様に3つの着信グループを作成しました。作成手順は本webページの「〇着信グループの設定」を参照してください。

グループ番号(7) 本家の家電話 (内線電話番号 13 14 15 16 17)
グループ番号(8) 全内線 (内線電話番号 10 11 12 13 14 15 16 17)
グループ番号(9) 新宅の電話群 (内線電話番号 10 11 12)

「応答がない場合の転送先」の上段には「着信グループ」下段には自分自身の着信グループ(グループを作成した後でないとプルダウンに表示されません)にしました。
あと、そんなにたくさんの電話が無くて、1台1台個別の電話を呼び出すようにしたい場合は「着信グループ」の設定は不要です。

 2-4.IVRを作成します

freepbxのメインメニュー

「アプリケーション」から「IVR」→「IVRを追加」

をクリックします。

IVRの名前は「本家と新宅の電話選択」
IVRの説明は「本家1と新宅2の電話選択」
アナウンスはプルダウンから「最初の案内」
ダイレクトダイヤルを許可は「はい」

(これはIVRから内線番号をそのままダイヤルすることで呼び出すことを許可するオプションですが「はい」にしないとアナウンスが終わるまで1とか2とかの選択キーを受け付けませんでした)

無効な入力: 宛先はプルダウンから「IVR」
その下の欄はプルダウンから「本家と新宅の電話選択」
(これも一度IVRを作ってからでないと表示されません)
タイムアウトリトライ数は「1」
タイムアウトの宛先はプルダウンから「着信グループ」
その下の欄はプルダウンから「8 全内線」にしました。

IVRエントリーの「Digits」欄には「1」「宛先」はプルダウンから「着信グループ」
その下の欄はプルダウンから「7 本家の家の電話」

ふたつ目の
IVRエントリーの「Digits」欄には「2」「宛先」はプルダウンから「着信グループ」
その下の欄はプルダウンから「9 新宅の電話群」

ここでプルダウンから「内線」を選べば各部屋の電話を個別に呼び出すことができますし、その他色々なあて先に送る事ができます。FreePbxってホント豊富な設定ができます。その他の項目はデフォルトにしました。
忘れず右下の「送信」をクリックし「設定適用」をクリックして保存します。

以上で我が家に電話を掛けてきた人は「1」を選べば「本家」に。「2」を選べば「新宅」に繋がります。ボタンを押さないときは全部の電話が鳴るという仕掛けができました。

 2-5.インバウンドルートを編集

最後に外から電話がかかってきたら通常の電話でなく「IVR」に着信するように、設定変更します。
インバウンドルートの鉛筆マークをクリックし編集します。
一番下の

「宛先をセット」の上段プルダウンから「IVR」を、
その下の欄はプルダウンから「本家と新宅の電話選択」

にします。

以上で「IVR 自動音声応答の設定」は終りです。

3.FreePBXで通話録音する設定

時折年寄りの家に病院や役所から大切な電話がかかってきます。その電話の内容についてこちらに相談に来るのは良いのですが電話の内容について担当者の名前や部署などを忘れたりすることが結構ありました。電話相手は何時に何処に来てください等的確に日程などを伝えたつもりが実際には伝わっていないとか、または伝わっていても忘れてしまうと言うトラブルです。そのため家族全員の了承を得て発信・受信ともすべての電話を録音することにしました。「#」につづけて特番をプッシュするような操作は年寄りには出来ませんので、無条件ですべてを録音するようにしました。

 3-1.インバウンドルートオプションを設定

FreePBXメインメニューから

「インバウンドルート」を選び
「アクション欄」の「鉛筆マーク」をクリックし
「編集画面」にします。
「Other」タグをクリックして「通話録音」を強制に変更します。

あとは右下の「送信」をクリック後、画面右上に出る「設定適用」をクリックします。

 3-2.アウトバウンドルートオプションを設定

FreePBXメインメニューから

「アウトバウンドルート」を選び
「アクション欄」の「鉛筆マーク」をクリックし
「編集画面」にします。
「詳細設定」タグをクリックして「通話録音」を強制に変更します。

あとは右下の「送信」をクリック後、画面右上に出る「設定適用」をクリックします。

 3-3.録音データを再生する

FreePBXメインメニューから

「レポート」を選び
プルダウンから「CDRレポート」をクリックし
知りたい期間を設定し「検索」をクリックします。
「期間 発信者ID」などと共に「録音ファイル」が表示されます。

あとは「スピーカー印」をクリックするとFreePBX上から録音内容が再生されます。(なぜかちょっと再生まで時間がかかります)
「HD印」をクリックすると録音内容ファイルのダウンロードダイアログが出ますので
WindowsのWAV再生ソフトで再生したり保存したりもできます。
以上簡単な設定で発信・受信とも通話を録音する事が出来ました。
ただ、この設定には家族や職場のプライバシーにくれぐれも留意して同意を得てから設定してくださいネ。

4.電話の録音ファイルの保存先を変更する方法

「RapberryPiにその他の機能を追加」の「ラズベリーパイの非常用クローンSDを作る」でRapberryPiシステムのクローン方法を説明しましたが。その際に前述の「電話の録音ファイル」もごっそりクローンされると無駄に容量が増えるし、クローン作業時間も増えるので、「電話の録音ファイル」の保存先を外付けのUSBに変更する方法をご紹介します。非常に簡単でしかも短時間で実現できます。

 4-1.FATフォーマットされたUSBメモリをラズパイに挿入

FATフォーマットされたUSBメモリをラズパイに差し込みます。
USBメモリが大容量過ぎてWindowsからFATフォーマットできない時は「Disk Master Free」(窓の杜へリンク)等のユーティリティーソフトでフォーマットしておきます。私はこのユーティリティーでWindowsのtempファイルをRAMディスク化しています。蛇足ですが....。

 4-2.USBメモリをマウントしアクセス権を設定

テラタームでラズパイにログインして以下のコマンドを入れます。

また黒い画面ですみません (;^_^A

mkdir /mnt/usb
mount -t vfat /dev/sda1 /mnt/usb/
cd /mnt/usb
mkdir /mnt/usb/rec
(録音ファイルの保存先)
chmod 777 /mnt/usb/rec/
(アクセス権を設定)

ここで「/dev/sda1」の所USBメモリ1本目の場合です。
2本目からは「sdb1 -> sdc1 -> ・・・・・・」と変わっていきます。
exitでテラタームを終了します。

 4-3.FreePBXの秘密の画面を表示する

FreePBX画面から以下の操作をします
「メインメニュー」の
「設定」->「高度な設定」から
「読取専用設定表示」と「読取専用設定オーバーライド」を「はい」に変更します。
(上から2段目と3段目)

これで普段は表示されない沢山の設定項目が現れます。

たったこれだけを見つけるのに約1年かかりました。
ホント日本語の情報は皆無です。cronタブやその他複雑難解な設定方法はあるのですがバージョンやディストリビューション(OSの亜種)が違ったりベストを見つけるのは大変です。本家の英語サイトを見ても古いバージョンを元にコメントしている方が多いです。その英語のフォーラムをだらだら見ている時に「新しいバージョンならこのように出来るのでは?」と言う書き込みがあって、やってみると「異常に簡単」にできました。

 4-4.音声ファイルの保存フォルダ設定

ディレクトリ(フォルダ)構成を変更します。

そのままずーっと下にスクロールしていくと

「ディレクトリ構成」

なる項目が出てきます。
通常表示では出てこないメニューです。

PBX動作の重要なディレクトリ(フォルダ)が列挙されていますから不要なところを変更してはいけません。

その項目群の一番下に

「通話録音ファイル保存場所を上書きする」の欄に
先ほど設定したUSBの保存先「/mnt/usb/rec」を書き入れ変更します。

あとは右下の「送信」をクリック後、画面右上に出る「設定適用」をクリックします。
古いバージョンでは再起動したらUSBが認識しないとかいう書き込みもありましたが、この設定はそのまま再起動しても有効になっています。問題のファイルの容量ですが、自宅はあまり多く電話がかかりませんので音声ファイルの容量は大体2か月で100Mバイト程度でした。16Gありますから20年以上持ちますか?。もしいっぱいになったらラズパイにFTPで接続して「/mnt/usb/rec/」のファイルを削除しても良いのではないかと思います。ftpでアクセスすると西暦2018-月5-日18が整然と区分けされて保存されていますので管理しやすいです。
以上で「電話の録音ファイルの保存先を変更する方法」は終わりです。

コメント

トップへ戻る