直接现象:坐席话机来电显示不是实际来电号码
环境描述:
由于项目实施时,还没有对freeswitch进行呼叫中心应用开发,所以对原有呼叫中心系统进行了改造,使上图中的架构可以应用于项目
中继网关将PSTN过来的电话送到Freeswitch上
东进keygoe通过SIP注册到Freeswitch上(1000分机),将Freeswitch当做出入局网关
电话打进来时,先经过中继网关,送到freeswitch上,然后freeswitch将电话Transfer到1000,将来话送到东进Keygoe
呼叫中心服务器收到keygoe的来电,经过负责的语音导航,最终将电话转接到IP话机上(1001,1002,1003....)
这个过程的操作是,keygoe将电话再次Transfer到Freeswitch中
在Freeswitch中新建dialplan,应用mod_callcenter模块对IP话机进行排队分配话路
问题就出在这里,由于mod_callcenter是接收到keygoe(1000分机)转移过来的话路,所有坐席的IP电话上显示的来电号码是1000,而不是实际的来电号码
DIALPLAN内容如下:
<extension name="callcenter">
<condition field="destination_number" expression="^8666$">
<action application="answer"/>
<action application="callcenter" data="support@default" />
</condition>
</extension>
Keygoe上的1000分机转移到8666,然后使用callcenter分配到IP话机
在测试时,使用Eyebeam呼叫8666分机,并将eyebeam的显示号码进行修改,使IP话机上显示的来电号码是eyebeam的显示号码
不修改DIALPLAn的前提下,坐席IP话机显示的来电号码是1008
现在讲dialplan修改如下,可以使坐席IP电话显示实际来电号码:
<extension name="callcenter">
<condition field="destination_number" expression="^8666$">
<action application="answer"/>
<action application="export" data="effective_caller_id_name=${caller_id_name}" />
<action application="callcenter" data="support@default" />
</condition>
</extension>