有一个项目需要使用开源的IM软件openfire联系人同ocs的联系人相互访问。openfire使用的标准的XMPP协议、OCS使用的标准SIP协议,如何互联互通?幸好微软出了xmpp的网关软件,专门负责同使用XMPP协议的软件互联。
1、准备好OCS环境(必须有edge的角色)和openfire环境(必须的)。这里只是着重说明怎样互联不再说明怎样安装了。
2、下载微软的XMPP网关软件,还需要.net3.5(最好提前下载好安装上)。
3、XMPP的网关服务器可以在OCS的森林中也可以独立出来。我这里是并入到OCS的林中了。依次将必要组件安装好。
4、然后在dns里面创建四个srv记录,很重要。
(1)在OCS的DNS区域中创建名为_xmpp-server的SRV记录,协议_TCP,端口5269,主机记录指向到XMPP网关服务器的FQDN;
(2)在OCS的DNS区域中创建名为_sipfederationtls的SRV记录,协议_TCP,端口5061,主机记录指向到edge的FQDN;
(3)在openfire的DNS区域中创建名为_xmpp-server的SRV记录,协议_TCP,端口5269,主机记录指向到openfire服务器的FQDN;
(4)在openfire的DNS区域中创建名为_sipfederationtls的SRV记录,协议_TCP,端口5061,主机记录指向到XMPP网关服务器的FQDN;
5、SRV记录创建好后就需要配置OCS的edge服务器了,其实就是设置联盟。打开edge的管理界面,在‘allow’的标签页中选择添加,域名填入openfire环境的域名,联盟的access edge服务器中填入XMPP网关的FQDN。
6、设置好edge服务器接下来就需要配置openfire服务器了。首先需要完善主机的FQDN,依次点击‘我的电脑’属性---‘计算机名’点击更改---点击‘其他’---在‘此计算机的主DNS后缀’中输入openfire的域名,依次确定并重启服务器。
然后进入openfire的管理界面,确认以下配置已经设置好:服务器设置中的安全设置,服务器联接安全选择为自定义并且把TLS方案设置为无效(此处非常重要,否则只能单向通讯)。
7XMPP网关的设置了(注意:在XMPP网关没配置好之前它的服务是无法启动的)。
(1)打开管理界面,‘点击SIP配置’,在右边配置界面中‘域’需要填入欲进行互通的OCS组织中的SIP域(此处是ocsr2.cn),‘主机名’填入OCS组织的edge服务器FQDN。然后点击保存。
选择证书标签页,选择为XMPP网关服务器申请的证书(证书名称要和主机的FQDN相匹配)。然后可以在验证连接标签页中验证一下。
(2)选择XMPP配置在右边配置区域中的‘允许列表’标签页点击‘添加’,域名填写openfire服务器的域名(注意和SRV记录中的DNS区域要对应起来),安全设置中选择‘TCP回拨’,其他几项不需要配置。最后启动XMPP网关的服务完成。
8、看看最后效果,能互相加为联系人,IM一切OK。