为了追赶时髦,打算将呼叫中心部署到云上。云上(简称B)部署服务器的时候,研发说直接将本地(简称A)的目录拷贝到云上。结果后续使用出来几个问题,记录如下:

1、电话呼入,然后创建会议失败,无法创建会议了。

经过研发联调,最终定位是由于一个路径的用户权限出错了。跟freeswitch自身的关系不大,具体的路径就不指出了。

2、第二个问题,也是昨天遇到的一个坑。原来的分机从老的服务器注册到B云服务器上(配置相同,只改变了注册服务器的ip),调用接口外呼的时候报错“分机不在离线状态“。

直接在分机的话机上呼叫,偶尔能够呼出,大多数情况是失败,座席说是报“分机正忙”。

咨询资深研发人员,提示,该话机可能有问题,未果。

于是自己拿手机app注册另外帐号上平台,每次外呼都可以成功。怀疑网络问题,怀疑座席人员描述不清。

网络问题?但是外部呼入都可以正常接听。

座席人员描述不清?再三确认,问题依旧,座席也很崩溃。

切换回老系统,一切恢复平静。

什么原因?百思不解。早上,登录上查看日志里的细节,发现不断有日志:

mod_callcenter.c:1082 Updated Agent XXXXX set status = On Break



使用命令:

sofia status profile internal reg



查看分机注册情况,发现注册的分机不是一般的多,而且很多都是已经超时一个月的记录。退出fs_cli命令,使用sqlite3打开db文件,查询出来的结果相同。

可以看到有两条相同分机号的记录,一条是超时一个月的,一条是新注册的:

511617360624-0@ipA|XXXXX|ipA||"user" <sip:XXXXX@ipClient:5060;fs_nat=yes;fs_path=sip%3AXXXXX%40ipClient%3A52784>|Registered(UDP-NAT)|unknown|1454393826|NewRockTech/UA 2.0|XXXXX|ipA|internal|IPCC|ipClient|52784|XXXXX|ipA|XXXXX|ipA|ipA|IPCC710-hangzhou|ipA
LOVhwn1hCNHIhoGAGsmvug..|XXXXX|ipB||"user" <sip:XXXXX@ipClient:47674;rinstance=6fcd4dc5a9b16964;transport=UDP;fs_nat=yes;fs_path=sip%3AXXXXX%40ipClient%3A47674%3Brinstance%3D6fcd4dc5a9b16964%3Btransport%3DUDP>|Registered(UDP-NAT)|unknown|1458018449|Poiper r306|XXXXX|ipB|internal|iZ23beg06rrZ|ipClient|47674|XXXXX|ipB|XXXXX|ipB|ipB|iZ23beg06rrZ|ipB



可以基本确定,是由于直接将db文件复制过来,然后原来平台当时的分机注册消息也带过来,没有清除(重启freeswitch也不清楚记录)。

因而,怀疑,在外呼的时候,遍历db文件找该分机的时候,基本上每次都找到了原来老的超时记录,既然都认为你分机超时了,自然就不给你建立呼叫了。

后续,删除db,或者删除其中的超时reg信息,进行验证。


PS:经历昨天一次,座席都联系不上了。