Skype for Business电话无法呼出呼入--有多个联系人具有相同电话号码

最近做Lync 2010升级Skype for Business 项目中,遇到一则故障,故障现象:某一用户Lync电话无法呼出呼入,呼出直接断开呼叫,呼入也是直接断开呼叫,如果通过Lync客户端呼入提示如下图错误:

中文描述:无法联系 xxx。有多个联系人具有相同电话号码。请重试呼叫。如果仍无法完成呼叫,请与您的支持团队联系以了解此信息。

英文描述:Cannot contact xxx. There is more than one contact with the same phone number.Try calling again.If you still cannot complete the call,contact your support team with this information.

查询后发现没有重复用户或其它用途占用此号码,进一步分析,做用户升级项目,迁移用户前此用户电话号码正常,迁移后不正常;再进一步了解,此号码曾经分配给其它人,但是那个用户已经离职,才把此电话号码分配给此用户使用,迁移前一段时间都使用正常。

那问题就出现迁移上,是不是迁移数据没有同步造成数据库中存在两条同样电话号码的数据,导致呼叫断开呢?

以下是解决过程:

1.使用SQL管理工具连接此用户所在的SfB前端服务器rtclocal数据库实例,通过SQL语句查询,查询有两条相同电话号码的用户:
SELECT * From [rtc].[dbo].[ResourcePhone] where PhoneNum like ‘%75157%’

2.通过ResourceID查找对应的用户,语句如下
SELECT * FROM [rtc].[dbo].[Resource] where ResourceId = ‘3161’

3.找到非在用用户,使用如下命令删除
execute dbo.RtcDeleteResource ‘juaxx@xx.cn’

通过以上方法解决后,要确保所有前端数据都是唯一的,如果不唯一,请按照1、2、3步骤执行并删除非正常用户数据。此时,再查看用户电话已经可以正常打进打出。

参考文档如下。

http://lynclead.com/?p=312

http://lynclead.com/?p=324