Skip to content

FreePBXのContactManagerに登録されている情報を使用し、電話番号から登録されているグループ名を取得します。

Notifications You must be signed in to change notification settings

accept/getGroupByNumber-FreePBX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 

Repository files navigation

電話番号からFreePBXのContactManagerグループ名を取得するAGIスクリプトです。
Dynamic Routesと組み合わせることで、特定グループの着信を自由にルーティングすることができます。
例えば、迷惑電話を掛けてくるグループを一括で拒否したり、FAX専用ダイヤルの着信をFAX受信先に送ったり、
相手が分かっている着信を最初から特定部署のキューに回したりといった使い方が出来ます。

直接SQLを実行しているため、ContactManagerのDB構造が変わった場合は使えないと思います。
ContactManagerのAPIを使用したかったのですが、GroupNameを取得する方法が見つかりませんでした。
インストールはagi-binディレクトリにコピーし、パーミッションを設定するだけです。
/var/lib/asterisk/agi-binなどですが、各環境に合わせて配置してください。

使い方の一例として、まず下記画像のようにFreePBXのコンタクトマネージャー、Externalにテストというグループを作成し番号を登録します。

cm

次に、Dynamic Routesを下記画像のように構成します。
AGI Lookupはggbn.agiまでのパスと引数です。
引数は番号からグループ名を取得するため[NUMBER]となっています。
AGI Result Variableはggbn.agiに記述されている結果を格納する変数名です。
スクリプトをそのまま使用する場合はgnとなります。

後内

Matchにグループ名を記述することで、そのグループからの着信をルーティングできます。
参考画像では作成したグループ、テストに登録された番号からの着信はすべてTerminate Callに飛ばされるようになります。

こちらのコードを書くにあたって、下記のお二方のコードを多大に参考にさせていただきました。
この場を借りて感謝申し上げます。

sorvani様 https://github.com/sorvani/freepbx-helper-scripts/blob/master/Aastra_Button_Functions/show_ring_group_membership.php

lgaetz様 https://gist.github.com/lgaetz/7cab1bc6b6266ba658d5dd90d2e919eb https://community.freepbx.org/t/using-dynamic-routes-with-an-agi-file/77968

About

FreePBXのContactManagerに登録されている情報を使用し、電話番号から登録されているグループ名を取得します。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages