1.隊列(Queue):呼入的電話會在相關的隊列中進行排隊
排隊策略:電話在排隊中,電話分配策略。具體如下:
·ring-all:選擇所有座席。即讓所有座席振鈴,哪個先接就選擇哪個。
·long-idel-agent:選擇空閑時間最長的座席。
·round-robin:輪循。
·top-down:按固定的順序選擇。
·agent-with-least-talk-time:總是選擇通話時間最短的座席;
·agent-with-fewest-calls:總是選擇接電話次數最少的座席;
·sequentially-by-agent-order:根據梯隊和順序選擇;
·random:隨機選擇.
2.fresswitch的核心數據庫: fresswtich的內部使用關系型數據庫記錄一些實時的數據, 這些數據有的是臨時存儲的,有些是永久存儲的。
freeswtich默認使用sqlite嵌入式數據庫。
默認的數據庫存儲位置是
FreeSWITCH安裝目錄下的db目錄(/usr/local/freeswitch/db),默認的核心數據庫名稱是core.db。

3.freeswitch 常用指令
啟動:
freeswtich -nonat Freeswitch默認啟動的時候會啟動upnp/nat-pmp協議,該協議查找你的路由器並在路由器上打洞,如果路由器不支持的話,會很耗時,影響啟動速度。 建議關掉改選項。
freeswtich -nc 將freeswtich啟動到后台。
注意:啟動時候也可以組合使用 freewtich -nc -nonat.
ps -aux | grep freeswitch 查看進程是否存在。
netstat -an | grep 5060 查看端口是否被占用。
netstat -anp | grep 5060 取得freeswitch的進程號(需要root權限)

4.控制台與客戶端
FreeSWITCH是一個典型的Client/Server結構,不管FreeSWITCH運行在前台還是后台,你都可以使用客戶端軟 件fs_cli連接FreeSWITCH。
它使用FreeSWITCH的 ESL(Event Socket Library)協議與FreeSWITCH通信。使用該協議需要加載模塊mod_event_socket,該模 塊是默認加載的。

動態管理callcenter當中隊列和坐席。
座席狀態:一個座席有兩個狀態標志,分別是Status和States。Status是一個座席邏輯上的狀態,它有以下幾 種取值
·Logged Out:退出服務狀態。
·Available:可用狀態,可以接電話。
·Available(On Demand):一種特殊的可用狀態。
·On Break:座席已登錄,但不可以接電話。
·States是跟電話呼叫有關的狀態,它有以下幾種取值:
·Idle:空閑。
·Waiting:等待接受呼叫。
·Receiving:正在接受呼叫。
·In a queue call:當前正在一個隊列呼叫中。
手動改變坐席的狀態
callcenter_config agent set status 1005@default 'Available' ----1005坐席工號 坐席的狀態為Available
callcenter_config agent set status 1005@default 'Logged Out' -------坐席狀態為Logged Out
callcenter_config agent set status 1005@default 'On Break' ---------坐席狀態為On Break
callcenter_config agent list -----列出所有坐席的狀態信息等。
callcenter_config tier list /callcenter_config queue list -----列出當前的梯隊信息/隊列信息
增加一個坐席
callcenter_config agent add 1007@default callback;
設置相關的參數
callcenter_config agent set contact 1007@default user/1007
呼叫中心模塊的加載:
1./usr/local/src/freeswitch/modules.conf將callcenter模塊的注釋去掉,
2.安裝make mod_callcenter-install
3.在控制台加載 load mod_callcenter
4.自啟動配置:conf/autoload_configs/modules.conf.xml去掉callcenter的相關配置
