Brekeke PBXの電話帳との連携
Brekeke CIMは、カスタマーから着信したとき、Brekeke PBXの電話帳と連携して電話帳に登録された名称を表示することができます。
設定例
1. Brekeke PBXの設定
Brekeke PBXで電話帳を検索するスクリプトを設定します。
- [PBX] > [ノート]画面を開き、[新規作成]ボタンをクリックし、ノート名を入力して[OK]ボタンをクリックします。
ここでは、例として「phonebook」というノートを作成します。 - ノートの内容に以下を設定します。
var URLEncoder = Java.type("java.net.URLEncoder"); var Phonebook = Java.type("com.brekeke.pbx.common.Phonebook"); var Dump = Java.type("com.brekeke.util.Dump"); var logger = Dump.getLogger(); function getDisplayname(param) { var disp = ""; var params = param.split(","); if(params.length >= 2) { var tenant = params[0]; var tel = params[1]; var pb = Phonebook.getInstance(); disp = pb.getDiaplayName(tenant, "", "", true, tel); if(disp == null) { disp = ""; } logger.debug("tanant=" + tenant + ", tel=" + tel + ", display name=" + disp); } return disp; }
- [保存]ボタンをクリックします。
2. Brekeke CIMの設定
Step1:スクリプトの設定
Brekeke PBXのスクリプトを呼び出して、カスタマー番号から電話帳名称を取得するスクリプトを設定します。
- [スクリプト]画面を開き、[新規作成]ボタンをクリックします。
ここでは例として、「dnis」というスクリプトを作成します。 - [スクリプト]に「dnis」、[種別]に「スクリプト」を設定します。
- スクリプトの内容に以下を設定します。
var URLDecoder = Java.type("java.net.URLDecoder"); function setCustomerInfo(cim, callinfo, targetid) { var tenant = cim.getTenant(); var customer_number = callinfo.getCustomer(); var ope = tenant + "|phonebook|getDisplayname|" + tenant + "," + customer_number; var ret = cim.pbx.callRemoteProc("agentmanager.script", ope, null); if((ret != null) && (ret != "")) { callinfo.setParam("customer_info", ret); cim.getLogger().debug("customer_info: " + callinfo.getParam("customer_info")); } return targetid; }
- [保存]ボタンをクリックします。
Step2:DNISの設定
作成したスクリプトがDNISに着信したときに実行されるように設定します。
- [DNIS]画面を開き、電話帳連携したいDNISをクリックする。
- [スクリプト]に次のように設定する。
[スクリプト名]:dnis
[関数名]:setCustomerInfo - [更新]ボタンをクリックします。
※1 連携できる電話帳は共有電話帳のみです。個別電話帳は連携できません。
※2 電話帳名称の表示には、CallInfoクラスのcustomer_infoを使用しています。そのため、Brekeke CCSでこの情報を他の用途で使用している場合は、電話帳連携はできません。
※3 電話帳名称に日本語が含まれる場合、環境によっては文字化けする可能性があります。その場合はBrekeke PBXのノートとBrekeke CIMのスクリプトを以下のように変更してください。
- Brekeke PBXのノート
return disp ↓ return URLEncoder.encode(disp, "UTF-8");
- Brekeke CIMのスクリプト
callinfo.setParam("customer_info", ret); ↓ callinfo.setParam("customer_info", URLDecoder.decode(ret, "UTF-8"));