现在我们有两套系统,一套是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也是可以的)

p_w_picpath

上面图中的sip.ocs2lync.net就是我们ocs2lync.net域的边缘服务器的外部FQDN。

然后修改一下OCS服务器的全局属性:

p_w_picpath

启用联盟,然后输入边缘服务器内部地址的FQDN。

 然后到边缘服务器上做配置修改:

p_w_picpath

手工输入对方的sip域名,因为我们是使用SRV来发现对方的边缘服务器,所以针对联盟伙伴访问边缘服务器那里就保持为空,如果不能使用srv记录,这里也可以手工填入对方边缘服务器的FQDN。

 p_w_picpath

这里我们可以看到联盟的端口为5061,而且不能修改。

然后在边缘服务器上导入对方CA信任链。

p_w_picpath

 然后记得给相关的用户启用联盟访问的权利。

p_w_picpath

OCS 2007 这边的配置就完成了,如果是配置两套OCS直接的互联,那么另外一套OCS也是相同的配置。


下面我们转战到LYNC服务器上。

LYNC服务器上的配置: p_w_picpath

首先在拓扑里面确认启用联盟,记得发布然后Invoke配置到边缘服务器上。 p_w_picpath

然后在前端上新建一个联盟域,填入对方的域名。

p_w_picpath

修改访问边缘配置为启用联盟,记得检查一下用户是否具有联盟的权利。

p_w_picpath

 

p_w_picpath

一样的导入对方的证书链。 

到这里配置就完成了,很简单吧。


我们现在LYNC客户端添加联系人看看。在搜索的地方输入:user1@ocs2lync.net

p_w_picpath

可以看到对方的状态已经出来了,说明我们的联盟已经成功了。

 如果我们在边缘上抓包看的话,可以看到李四用户发出来的SUBSCRIBE请求,就是订阅对方状态的请求。

SUBSCRIBE sip:user1@ocs2lync.net SIP/2.0
From: "李四"<sip:lis@lyncpbx.net>;tag=dea64dc013;epid=2f1ecf23aa
To: <sip:user1@ocs2lync.net>
CSeq: 1 SUBSCRIBE
Call-ID: 33240aed821644a88f46d44d06cbbd78
Via: SIP/2.0/TLS 192.168.1.11:65075;branch=z9hG4bKA96FD0F3.9CC4B3EC02395D53;branched=FALSE
Max-Forwards: 69
ms-application-via: SIP;ms-urc-rs-from;ms-server=fe.lyncpbx.net;ms-pool=pool.lyncpbx.net;ms-application=ad894dc3-55e0-44bf-a07e-3c073aaa4a57
Via: SIP/2.0/TLS 192.168.1.100:52663;ms-received-port=52663;ms-received-cid=46400
Contact: <sip:lis@lyncpbx.net;opaque=user:epid:7LhRU9reNVmUTDOBFiu-4QAA;gruu>
User-Agent: UCCAPI/4.0.7577.0 OC/4.0.7577.0 (Microsoft Lync 2010)

 红色字体说明了对方的客户端版本为LYNC 2010

而相反的可以在OCS的边缘上看到的,user1所发出来的请求如下:

SUBSCRIBE sip:lis@lyncbpx.net SIP/2.0
From: "user1"<sip:user1@ocs2lync.net>;tag=13ee3aac44;epid=185c9d588b
To: <sip:lis@lyncbpx.net>
CSeq: 1 SUBSCRIBE
Call-ID: 6838cae883544bceb226989b4efffc1f
ms-user-data: ms-publiccloud=false;ms-federation=true
Via: SIP/2.0/TLS 192.168.1.42:50577;branch=z9hG4bKBD291287.2B76C65714A582D8;branched=FALSE
Max-Forwards: 69
Via: SIP/2.0/TLS 192.168.1.42:50216;ms-received-port=50216;ms-received-cid=100
Contact: <sip:user1@ocs2lync.net;opaque=user:epid:MSosPViUK12tp0PLnmpMsAAA;gruu>
User-Agent: UCCAPI/3.5.6907.0 OC/3.5.6907.0 (Microsoft Office Communicator 2007 R2)

  红色字体说明了对方的客户端版本为OC 2007 R2。


尝试发送信息看看,成功。

p_w_picpath

我们可以看到李四后面有一个绿色的小地球的标记,说明对方是外部联系人。而LYNC就变成了蓝色地球标记了。

 短消息不成问题,而二者也可以进行音视频聊天的。(前提条件是相关的音视频要配置好)

p_w_picpath

 

p_w_picpath

由于李四这个用户启用了exchange的UM功能,所以我们还可以在这里呼叫对方的语音邮箱。

到这里就配置完成联盟了,很简单吧。

如果这二者之间的联盟搞定了,那么OCS 和OCS之间,LYNC和LYNC之间也是很简单的了。