利用者:Kei ef 2000
目次
Asterisk SugarLookup
Asterisk SugarLookupとは
「Asterisk SugarLookup」は、Asterisk(及びその派生)のAGIとして動作する、Perlで書かれたプログラムです。
機能は、Asteriskに着信が有った際に、そのCallerID(発信者の電話番号)をキーに、SugarCRMに登録されている「取引先」「取引先担当者」
の名前を引き出し、Asterisk側にCALLERID(name)として渡す事で、各電話機やPCの画面上に、掛かってきた電話の主の情報を表示させる事が出来ます。
また、Asteriskに着信が有ると、既にSugarCRMに登録された電話番号で有れば、その「取引先」もしくは「取引先担当者」からの「インバウ
ンド」コールとして、自動的にSugarCRMに記録させる事が出来ます。
新規顧客からの着信の場合、未登録者からの着信として、電話番号と共に「インバウンド」コールとして、自動記録させる事も出来ます。
これによって、コールセンター含め、顧客からの問い合わせへの対応が漏れなく、かつ正確に対応する事が可能になります。またこれらの情報を使って、より効果的な営業やサポート活動に繋がります。
※Asterisk、及びその派生(例:TrixboxCE,FreePBX)プロダクトで動作します
※SugarCRM、及びその派生(例:Info@Hand)プロダクトで動作します
※SugarCRMに着信記録を残す際も、CALLERID(name)としてAsteriskに返す時も、もちろん日本語に対応しています(文字コードはデータベースとsugarlookup.agiとを合わせる必要があります Asterisk SugarLookup日本語版はUTF-8で書かれています)。
導入の為に必要なもの
■動作環境
▽IP-PBX側
正常に稼働しているAsterisk(Ver1.4.xxで動作確認済)
もしくはAGIが使えるAsteriskの派生プロダクト(例:TrixboxCE等)
▽SugarCRM側
英語、もしくは日本語版(日本語パッチでも可)のSugarCRM5.0もしくは5.1
※Asteriskと同じサーバー上に無くても使えるが、接続の為に必要なポートが空いている必要がある
※基本的に、上記が動くサーバーで有れば、OSやアーキテクチャには依存しない(筈。。。)
■上記以外で必要な物
▽Perl関連
Asterisk::AGI;
LWP::UserAgent;
DBI;
Time::Piece
Time::Piece::MySQL
もし無ければ、上記の各CPANモジュールをコマンドプロンプトからAsteriskの稼働しているサーバーにインストールして下さい
※インストール方法
例: install <モジュール名>
▽「Asterisk SugarLookup」本体
本家Sugar ForgeのProjectページから、英語もしくは日本語版のファイルをダウンロードして下さい。
Sugar Forge/Asterisk SugarLookupプロジェクトページへGO!
-> http://www.sugarforge.org/projects/sugarlookup/
※2009年1月2日現在、英語、日本語版共にVer1.1.0が最新
Asterisk側の準備
■「Asterisk SugarLookup」のインストール
1,ダウンロードした「AsteriskSugarLookup(sugarlookup_xxx.agi)」を、AsteriskのAGIディレクトリにコピー、もしくは移動する
例:
cp sugarlookup_xxx.agi /var/lib/asterisk/agi-bin/
例:
mv sugarlookup_xxx.agi sugarlookup.agi
chown asterisk sugarlookup.agi
chgrp asterisk sugarlookup.agi
3,sugarlookup.agiに実行権限を付与する
例:
chmod +x sugarlookup.agi
4,Asteriskの任意のダイヤルプランに、着信時にsugarlookup.agiを呼び出す様設定を追加する
例:Asteriskの場合
exten => s,1,NoOp(Sugarlookup started)
exten => s,n,AGI(sugarlookup.agi)
exten => s,n,NoOp(Sugarlookup end)
exten => s,n,Set(CALLERID(name)=${NAME}) ;AsteriskにCALLERID(name)を返す場合には、 着信のコンテクストにこの1行を追加して下さい(ver1.1.0の新機能)
例:FreePBX/TrixboxCEの場合
/etc/asterisk/extensions_custom.confに、以下を加える
[custom-sugarlookup]
exten => s,1,NoOp(Sugarlookup started)
exten => s,n,AGI(sugarlookup.agi)
exten => s,n,Set(CALLERID(name)=${NAME}) ;FreePBX/TrixboxCEにCALLERID(name)を返す 場合には、着信のコンテクストにこの1行を追加して下さい(Ver1.1.0の新機能)。
exten => s,n,goto(ここに着信させるダイヤルプランのコンテクストを指定する,1,1)
次に「Asterisk SugaLookup」を動作させたいインバウンドルートのDestinationに、先ほど作成した専用のコンテクスト[custom-sugarlookup]を指定します
※私は、カスタムDistinationで、以下を指定して作成しました
custom-sugarlookup,s,1
以上で、Asterisk側の準備は完了です。
Sugar CRM側の準備
■SugarCRM上での準備
・電話番号未登録者からの着信時にもコールを自動記録したい場合、「取引先」に専用の取引先を作成します
例: 「未登録者」や「新規顧客」等、任意の名称
※未登録者からの着信も記録するか否かは、sugarlookup.agiの設定にて、切り替える事ができます
■データベース(MySQL)の管理者権限、及び環境を確認する
※sugarlookup.agiの設定で使います
・SugarCRM(MySQL)の設置されたサーバーのIPアドレス
※標準のポート以外を利用している場合には、ポート番号も必要)
・SugarCRMのデータベース名
・SugarCRMデータベースのユーザー名
・SugarCRMデータベースのパスワード
・SugarCRMの管理者ID(sugar_admin_id)
※通常は、"1"
・上記で作成した未登録者からの着信時に割り当てる取引先のID(account_id)
※sugar_admin_idやaccount_idは、phpmyadmin等で調べると、便利です
「Asterisk SugarLookup」の設定
※Asterisk SugarLookupの設定は、直接sugarlookup.agiファイルをviなどエディターで編集してください
次期バージョンでは、設定ファイルと実行ファイルが分割される予定です
■設定項目
※Ver1.1.0_jpでは、48~66行目
・$sugarlookup_active = "1";# SugarLookupの有効="1",無効="0" ・$lookup_account_only = "0";# "1"にすると電話番号を「取引先」からのみ検索します。 "0"の場合は、始めに「取引先担当者」を検索し、なければ「取引先」も検索します ・$database_hostname = "127.0.0.1";# MySQLサーバーのIPアドレス。 標準のポート以外を使用している場合には、"127.0.0.1;port=8080"の様にする ・$database_name = "sugarcrm";# MySQLサーバーに設定したSugarCRMのデータベース名 ・$database_user = "sugar_admin_username";# SugarCRMデータベースのユーザー名 ・$database_password ="sugar_admin_password";# SugarCRMデータベースのパスワード ・$autocall_txt = "自動着信記録 電話:";# SugarCRMに記録される件名 ・$sugar_admin_id = "1";# SugarCRMの管理者のid。通常は"1" ・$log_unknown_callers = "1";# 未登録者からの着信もSugarCRMに記録するかどうか(1=はい,0=いいえ) ・$sugar_account_id_missing_callerid = "be881b77-0946-11f6-66ca-492ae96d135c";# SugarCRM上で 未登録者用の専用「取引先」を作成し、そのaccount_idをphpmyadmin等で調べて、その値に変更して下さい ・$unknown_caller_autocall_txt = "未登録者からの自動着信記録 電話:";# 未登録者からの電話着信 の場合に記録される件名で、行末にそのCallerIDが自動付加されます ・$description = "Asteriskによる自動着信記録";# 「コール」に記録される注釈 ・$set_callerid_to_asterisk = "1"; # AsteriskへCALLERID(name)を返す機能を有効にするには"1"を セットし、"0"で無効(SugarCRMへの記録のみ)となります。
Asterisk SugarLookupと今後について
■ホームページ(SugarForge)
http://www.sugarforge.org/projects/sugarlookup/
■開発陣営
Terje Christensen
ふかうみ けんいち<kenichiアットマークkula.co.jp>
■今後について
▽次期バージョンで搭載する予定の機能
Ver1.1.x
・Asterisk側へのCALLERID(name)を返すか否かの切り替え機能 ->完了
・設定ファイルと実行ファイルの分割
・インストール及び初期設定スクリプトの搭載
・SugarCRMに登録された電話番号に"-","(",")"及びスペースが含まれていた場合でも、正しくCallerIDを引っ張ってくる機能 ->完了
Ver2.x
・通話終了後、通話時間、対応した担当者、ステータスをSugarCRM側に記録
・通話を転送した場合にも、上記情報と転送先等が記録される
・ドキュメントファイルをリリースファイルに添付
その他
・ヴォイスメールが録音された場合、SugarCRM上からそのファイルを再生できる
・着信時にSugarCRM上に、該当する取引先をポップアップさせる
・ポップアップしたメニューから、アポイントやメモ、ミーティングを作成できる
・クリックtoコール
・AsteriskとSugarCRMのワンパッケージソリューション
▽今後の予定
・Ver1.1.0のバグフィックス
・Ver2のリリース(時期は気まぐれ?)