2022-09-15会社の電話システムを購入すると数十万~数百万円かかりますが、オープンソースソフトウェア(OSS)であるAsterisk、FreePBXなどを利用すると格安でシステムを構築することができます。NTTなどの事業者の回線である「ひかり電話」等には接続できません。(技術的には可能なのですが、NTT等による機材の検査が必要になります。)よって、IP電話(050から始まる電話番号)に接続することが前提となります。Pi用にカスタマイズされたFreePBXのRasPBXを運用しています。不安定なときもありますが、概ね順調に稼働しています。最近、自動音声ガイダンス(IVR)を導入しました。着信してからお客様に該当する番号を選んでいただくものです。以前までは、着信するとすべての電話が一斉に鳴動していたのですが、IVRの導入により担当者の電話のみが鳴動することになりました。よって、着信履歴はそれぞれの電話に残ることになり、すべての着信履歴を簡単に確認する方法がありませんでした。(営業電話は基本的に留守番電話につながる設定ですので、現状では着信履歴も残りません)そこで、着信した全ての電話番号をSlackに通知する仕組みを導入しました。これも無料で構築できます。導入の際に迷ったことがあったのでメモとして記録しておきます。呼び出しスクリプトの追記Slackへのアプリ追加Slackのチャンネル上で右クリックし「チャンネル詳細を開く」を選択します。「インテグレーション」タブを選択し、「アプリを追加する」を選択します。Webhook」というアプリを選択し、追加します。これにより、RasPBXからSlackに着信番号を通知することが可能になります。Webhookの設定は説明を見ながら希望の内容に設定してください。着信した際には次の動作になります。IVR(自動音声ガイダンス)以前は、着信するとIVRに繋がっていたのですが、その前にカスタム宛先の処理を割り込ませます。[カスタム宛先]を選びます。Destination]ボタンをクリックし、Targetに「slack,s,1」と入力し、説明などは適宜わかりやすいものを入力します。Returnは[Yes]、Destinationは今回は[IVR]にしますが、着信グループなども動作すると思います。呼び出しスクリプトの追記カスタム宛先に追加するとextensions_custom.conf内の処理が実行されます。Webhookを呼び出す処理を書いたスクリプトのパスを記述します。このとき、着信番号をコマンドパラメータとして渡しています。s,n,Return()うまく動けば、着信と同時にSlackに通知が届きます。お客様は音声ガイダンスに番号を入力いただきますので、Slackの着信通知から電話の鳴動までに数秒間、余裕ができBGMを消すとかの操作もできます。関連記事2023-03-03LINE公式アカウントの代用方法を検討。無料メッセージ配信数が月200通に制限されるので他の方法を検討してみる。当サイトではユーザー体験向上のためにクッキー(Cookie)識別子を使用しています。