このような状況では、不快な状況が発生します。従業員は、電話を受けると、クライアント番号ではなくSIMカード番号を確認します。 不在着信をすぐにコールバックする方法はありません。
コールアラートにTelegramを使用することにしました。 興味深いソフトウェア製品群Askozia + Telegram + 1C:Enterpriseが見つかりました。
仕組み
従業員はTelegramを介してサービスにアクセスします。 ボットを作成すると、通知をサブスクライブできます。
挨拶の形式は「 I <電話番号> 」です。
ボットは電話番号を保存し、これから通知を送信するチャットを認識します。
誰かが電話をかけたり、従業員番号に電話をリダイレクトしようとすると、次のメッセージがチャットに送信されます。
発信者の名前と電話番号に関する情報が表示されることに注意してください 。 呼び出し元の表現(名前)は、必要に応じて1C:CRMから取得できます。 この例では、callerid(name)は1C:CRMから情報を受信した後にインストールされました。実装例はjorikfonの記事で説明されています(「有用な資料」セクションを参照)。
さらに、「 (コールバック) 」ハイパーリンクが表示されます。 ハイパーリンクは、従業員の携帯電話番号へのコールバックを開始します。 携帯電話での呼び出しが受信されるとすぐに、呼び出しが以前に受信された加入者へのダイヤルが開始されます。
興味深い予想外の機能 -コール通知は、モバイルへのコールよりも速くなります。 GSM回線を介したダイヤルは4〜5秒間遅延します。 電報通知はずっと速くなります。
IP PBX Askoziaへのサービスのインストール
Telegram API、AMI Asterisk、SOAP Webサービス1C:エンタープライズが使用されます。 すべてのサービスはPHP 5で実装されています。
SSHを介してPBXに接続します。
# , . mount -o remount,rw /offload; # , . mkdir /offload/rootfs/usr/www_provisioning/telegram/; # , . mkdir /storage/usbdisk1/askoziapbx/astlogs/asterisk/telegram/;
SFTP経由でPBXに接続します
配布リンクをダウンロードします。 ディストリビューションからディレクトリにスクリプトをコピーします:“ / storage / usbdisk1 / askoziapbx / astlogs / asterisk / telegram / ”
私たちは引き続きSSHで作業します
# : # URL "http://HOST:56080/telegram/miko_callback.php" ln -s /storage/usbdisk1/askoziapbx/astlogs/asterisk/telegram/miko_callback.php /offload/rootfs/usr/www_provisioning/telegram/miko_callback.php # , telegram echo >> /storage/usbdisk1/askoziapbx/astlogs/asterisk/telegram/subscription.db # " ". mount -o remount,ro /offload;
settings.jsonファイルで設定を定義します
Settings.jsonの例
{ "ami_host": "127.0.0.1", "ami_port": 5038, "ami_username": "1cami", "ami_secret": "PASSWORD1cami", "telegram_API_key": "171119210:AAHo-000000000000000000000", "subscription_file": "subscription.db", "dst_context": "SIP-PHONE-0000000000feaad021c", "res_callback": "http://HOST:56080/telegram/miko_callback.php", "local_context": "localchannels" }
- 「 Ami_host、ami_port、ami_username、ami_secret 」 -AMIに接続するためのパラメーター
- 「 Telegram_API_key 」-TelegramボットAPIキー
- 「 Subscription_file 」-通知サブスクリプションが保存されるファイルの名前
- 「 Dst_context 」-宛先番号のダイヤルが可能なコンテキスト
- 「 Local_context 」-内部番号のダイヤルが可能なコンテキスト
- 「 Res_callback 」-コールバックスクリプトが公開されているURL、「HOST」-askoziaアドレス
AMIに接続するための設定を取得する方法
- ami_host-スクリプトがローカルで実行される場合、アドレスは127.0.0.1です
- ami_port-デフォルト値5038
- ami_username-デフォルト値はadminです
- ami_secret - askoziaのデフォルト値
Telegram APIキーを取得する方法
「 BotFather 」から質問する必要があります。
電報で連絡先「BotFather」との新しいダイアログを作成します
応答として、ボットはキーを含むメッセージを送信します
電報で連絡先「BotFather」との新しいダイアログを作成します
- コマンド「/ newbot」を送信します
- 2番目のステップでは、新しいボットの名前を入力します
- 3番目のステップでは、ボットの「ユーザー名」を入力します。これには、文字列「ボット」が含まれている必要があります
応答として、ボットはキーを含むメッセージを送信します
Use this token to access the HTTP API:
171119299:AAHo-y2Ps4-ZTblLRHbjBHG5pG-0cpN
コンテキスト設定
- local_contextは、従業員の内部番号と携帯電話番号が定義されるコンテキストです。デフォルトでは「localchannels」
- dst_context-このコンテキストを取得するには、「電話」アカウントの1つを開き、ブラウザのアドレスバーにあるフォーム「 SIP-PROVIDER-196627525951ab38268552a 」の識別子をコピーする必要があります。これがコンテキストになります
cronでスクリプトを実行する
Webインターフェースで「ESC」を押して「インテグレーターコンソール」を開く必要があります。
- 「 構成ファイル 」タブに移動します
- ファイル「 crontabs 」を選択します
- 上記の画像のようにスクリプトを実行する行を追加します
*/5 * * * * /bin/sh /storage/usbdisk1/askoziapbx/astlogs/asterisk/telegram/starter.sh
実施結果
従業員は便利な着信アラートサービスを受け取りました。
- 通知は呼び出しの前に来ます
- 従業員は、誰が彼を呼び出しているかを見る
- 「コールバック」機能を使用する場合、コールはPBXを経由します。つまり、会話は録音されます