现在我们有两套系统,一套是OCS 2007 R2,一套是LYNC 2010。每套系统里面都部署了边缘服务器,今天我们就来尝试一下把二者互联起来,也就是我们常说的联盟。这两套系统之间的联盟是非常简单的的,但是也有几个关键的条件。
- 因为以后两个系统的用户都是通过边缘来通讯的,所以对方需要能够访问到相互的边缘服务器,联盟都通过访问对方的边缘服务器的5061端口来实现的,而且这个这个端口是无法修改的。边缘服务器如何定位到对方的边缘服务器呢?有两种方式,一种是通过SRV记录,就是对方的域里面有有_sipfederationtls._tcp.domainname这样的记录,一种是在设置添加对方域的时候,手工填入对方的边缘服务器地址。一定要确保在边缘服务器上可以解析到对方的边缘服务器的地址,然后telnet对方的5061端口看看是否连通。
- 第二个条件就是,因为二者之间是通过tls来访问的,所以要信任对方的这个证书,如果在边缘上使用的是公网证书那就很简单了,所以是使用内部CA颁发的证书,那就要在边缘服务器上导入对方的CA的证书链。
就这么两个简单的条件,下面我们通过实际操作实现二者的互通。在进行联盟之前,一定要先确保用户的边缘服务器部署正常。
两套系统的边缘服务器的相关属性:
相关属性 | OCS 2007 R2 | LYNC 2010 |
SIP域 | ocs2lync.com | lyncpbx.net |
边缘角色外部名称 | sip.ocs2lync.net | sip.lyncpbx.net |
边缘角色IP地址 | 172.20.0.4 | 172.20.0.3 |
首先进行OCS 2007 R2的配置。
为了简化DNS解析,我们分别在两套系统的DNS服务器上做转发,所以我们就在在内部DNS上建立sipfederation记录了。如果我们是通过互联网来实现互联的,那么就要在外部的DNS服务器上建立这个SRV记录,然后主机地址指向边缘服务器的地址。(当然了SRV也不是必须的,知道对反的边缘服务器的FQDN也是可以的)
上面图中的sip.ocs2lync.net就是我们ocs2lync.net域的边缘服务器的外部FQDN。
然后修改一下OCS服务器的全局属性:
启用联盟,然后输入边缘服务器内部地址的FQDN。
然后到边缘服务器上做配置修改:
手工输入对方的sip域名,因为我们是使用SRV来发现对方的边缘服务器,所以针对联盟伙伴访问边缘服务器那里就保持为空,如果不能使用srv记录,这里也可以手工填入对方边缘服务器的FQDN。
这里我们可以看到联盟的端口为5061,而且不能修改。
然后在边缘服务器上导入对方CA信任链。
然后记得给相关的用户启用联盟访问的权利。
OCS 2007 这边的配置就完成了,如果是配置两套OCS直接的互联,那么另外一套OCS也是相同的配置。
下面我们转战到LYNC服务器上。
首先在拓扑里面确认启用联盟,记得发布然后Invoke配置到边缘服务器上。
然后在前端上新建一个联盟域,填入对方的域名。
修改访问边缘配置为启用联盟,记得检查一下用户是否具有联盟的权利。
一样的导入对方的证书链。
到这里配置就完成了,很简单吧。
我们现在LYNC客户端添加联系人看看。在搜索的地方输入:user1@ocs2lync.net
可以看到对方的状态已经出来了,说明我们的联盟已经成功了。
如果我们在边缘上抓包看的话,可以看到李四用户发出来的SUBSCRIBE请求,就是订阅对方状态的请求。
SUBSCRIBE sip:user1@ocs2lync.net SIP/2.0 |
红色字体说明了对方的客户端版本为LYNC 2010
而相反的可以在OCS的边缘上看到的,user1所发出来的请求如下:
SUBSCRIBE sip:lis@lyncbpx.net SIP/2.0 |
红色字体说明了对方的客户端版本为OC 2007 R2。
尝试发送信息看看,成功。
我们可以看到李四后面有一个绿色的小地球的标记,说明对方是外部联系人。而LYNC就变成了蓝色地球标记了。
短消息不成问题,而二者也可以进行音视频聊天的。(前提条件是相关的音视频要配置好)
由于李四这个用户启用了exchange的UM功能,所以我们还可以在这里呼叫对方的语音邮箱。
到这里就配置完成联盟了,很简单吧。
如果这二者之间的联盟搞定了,那么OCS 和OCS之间,LYNC和LYNC之间也是很简单的了。