2015-12-14 59 views
0

NET專家FreePBX的數據集成,定製的CRM

我在那裏一個4端口的PSTN卡安裝在服務器中的場景,我有一個服務器按照建議由專人安裝Freebpx。當任何一條PSTN線路上發出呼叫時,它將被轉發到其硬電話上的一個運營商。

每個操作員在他的桌子上都有一個電腦屏幕,由單獨的CPU供電。這運行我們的CRM軟件由操作員處理。當呼叫到達話務員硬電話時,如話務員2,我們希望呼叫者號碼也應顯示在CRM軟件中。根據此呼叫者號碼,運營商可以輸入一些與呼叫者相關的信息,並通過我們的CRM軟件將其保存在數據庫中。另外,當運營商斷開通話時,我們應該在稍後收到呼叫停止時間。

因此,我們需要呼叫者號碼和呼叫開始時間,當他的硬電話上的操作員選擇呼叫時。然後當通話結束時我們需要通話結束時間。

有人可以幫助我們如何實現這一目標嗎?我們是否需要捕獲SIP數據包並解析它們,或者採取其他方式來解決這些問題?我們的CRM數據庫與Freepbx完全分開,駐留在另一臺服務器上。

回答

0

如果您想實時獲取這些事件,您應該查看AMI(默認爲Asterisk Manager Interface - 端口5038 TCP),它的配置manager.conf(注意:FreePBX使用,請參閱manager_custom.conf)。

如果您需要歸檔版本,您應該設置數據庫服務器,並將CDR(呼叫詳細記錄)模塊指向它。 PostgreSQL或MySQL/MariaDB工作得很好。只要可以爲NULL或具有DEFAULT值,Asterisk將簡單地忽略CDR中的其他字段。這可以用來存儲自定義數據。

+1

我試着通過5038端口上的AMI連接到Asterisk服務器,它回覆了代碼的狀態。但是當來電時,它不會將此信息發送到我的C#示例項目。 如果以某種方式,我可以在我的C#應用​​程序中使用Caller id和運營商獲取信息,我可以查詢自己的數據庫(除Asterisk之外的另一臺計算機)來獲取來電者信息或使用來電號碼來存儲一個新的記錄在我自己的數據庫中。 –

+0

您需要通過添加follwoing線啓用的AMI(經理)接口CEL(通道事件日誌)事件/etc/asterisk/cel.conf – viktike

+0

[普通] 使= YES 應用=撥號,掛斷,轉移 events = ALL [manager] enabled = yes – viktike