IBM Lotus Sametime Gateway(后文简称为 "Sametime Gateway"或 "STGW")是一个用于与其他即时消息传递工具进行在线感知和实 时协作的平台。Sametime Gateway 可以使 Sametime 本地群体与其他公共即时消息传递群体(即:外部群体,如 AOL Instant Messenger、Yahoo! 和 Google Talk)之间进行协作。Sametime Gateway 从群体接收消息、检查消息的合法性、必要时转换消息协议 ,并将消息转发至接收方。除传递即时消息外,Sametime Gateway 还提供了在线感知、过滤黑名单域、用户访问控制和事件日志记录 等功能。插件技术使 IBM 和第三方开发者能够定制消息处理程序、丰富功能,用于 SPIM 控制和病毒检查。
例如,Sametime Gateway 可支持如下场景:在 IBM 工作的某“IBM 员工”,想与在 XYZ 公司工作的“XYZ 员工”交谈。XYZ 公司有自己的 Sametime 服务器。虽然该服务器与“IBM 员工”所在单位的 IBM 服务器使用相同的协议,但由于各公司有自己定义的网络域,因此不同公司的员工在没有 Sametime Gateway 的帮助下无法进行通讯。
要桥接不同网络域之间的群体,Sametime Gateway 起到中介作用。一旦某公司的即时消息传递群体添加到 Sametime Gateway 的群体 列表,则 Sametime Gateway 会检查每条消息,以查看它是否有到达期望目的地的路径,并通过访问控制表(ACL)检查是否有与其他系统交互的权限。如果需要,Sametime Gateway 会将消息转换成本地或外部群体可以理解的协议,然后再将其发送。通过类似方式,Sametime Gateway 可用于连接 SIP 群体(如 AOL Instant Messenger 或 Yahoo! Messenger),或连接使用 XMPP 转换协议的群体(如 Google Talk)。
Sametime Gateway 可连接到使用以下任一网关或群体的外部群体:
Sametime 群体通过转换协议依赖 Sametime Gateway 连接到其它即时消息传递群体。如下图显示了防火墙后面的本地 IBM Sametime 群体。本地 Sametime 群体通过转换协议(如 SIP 和 XMPP(可扩展消息传递与在线通知协议)),依赖 Sametime Gateway 连接到即时消息传递群体。您可使用 Sametime Gateway 连接到 Google Talk 用户、Yahoo! Messenger 用户、AOL Instant Messenger 群体及其他拥有 Sametime Gateway 或 Legacy Sametime Gateway 的 Sametime 群体。
通过 Sametime Gateway 的即时消息传递和在线通知依赖公司之间的直接连接。在本图中,本地 Sametime 群体享有与公司 A、B、C 和 D 之间的即时消息传递,反之亦然。但是公司 A、B、C 和 D 彼此之间不能进行即时消息传递和在线通知,除非它们使用 Sametime Gateway 建立明确的直接连接。
在上图中,我们选择 Sametime Community -> VP Connector -> SIP for Sametime Gateway <-> Sametime Gateway <- Company A Sametime Community 路径,以该环境为例介绍如何安装、配置 Sametime Gateway 7.5.1。
本文仅涉及 Sametime Gateway 服务器的安装及配置细节,假设您已经有了可用的 Sametime 服务器,并且配置了 Domino LDAP。在此基础上,我们需要针对 Sametime Gateway 的需求做一些相应的设置。步骤如下:
步骤 1:修改 Domino LDAP 服务器表单的设计,添加 dominoUNID
前提:假设您已经有了可用于工作的 Domino LDAP 服务器。
如果我们采用该 Domino LDAP 服务器作为整套环境的 LDAP 服务器,当我们为 STGW 配置 LDAP 时,需要在 wimconfig.xml 文件中 添加 dominoUNID 参数。因为 STGW 的 ACL Plugin 需要通过“唯一标识”定位并区分 LDAP 服务器提供的用户和群组。文档的唯一 标识是由应用程序通过计算自动生成的,因此具备唯一性。缺省情况下,Domino 目录的“个人”(即:Person)和“群组”(即: Group)表单中没有 dominoUNID 域。因此需要手动向 Domino 目录的“个人”和“群组”的表单添加此域。步骤如下:
| 域名: | dominoUNID |
|---|---|
| 类型: | Computed |
| 公式: | @Text(@DocumentUniqueID) |
步骤 2:修改 Domino 服务器上的 stpolicy.nsf 数据库中的参数
为了允许您的 Sametime 服务器的用户与外部其他即时消息传递群体的用户进行即时通讯,需要修改以下参数:
打开 “Sametime 策略” 数据库(即:stpolicy.nsf)中的 DefaultPVS 文档,找到 "Name: Allow users to connect to external communities" 条目,将缺省值从 0 改为 1。
要配置 Sametime 服务器支持 STGW 服务器,您必须通过编辑 Sametime.ini 文件来设置一个安全性级别,步骤如下:
[Debug] VPS_BYPASS_TRUSTED_IPS=1 |
[Config] VPS_TRUSTED_IPS=trusted IP address, trusted IP address |
请使用逗号来分隔新项和原有的项。
如何在 Windows 上安装 Sametime Gateway 7.5.1 基本环境?
以 IBM 公司和 XYZ 公司为例,假设两个公司都使用各自的 Sametime 服务器作为本公司内部的即时消息通讯工具。如何使这两个公司的 Sametime 服务器成功连接、并使两个公司的用户可以相互进行即时通讯?Sametime Gateway 将在其中起到关键作用。
在此,我们仅谈论如何安装、配置 Sametime Gateway 7.5.1 的基本环境。假设 IBM 公司的系统管理员已经在第一台机器上安装了 DB2 Workgroup Server Edition。现在,我们可以在该机器上安装 WAS 6.0.1.x 和 STGW 7.5.1。步骤如下:
创建 STGW 数据库:
注: 如果要使用其他数据库名称,则在执行该步骤之前,将需要在 createDb.sql 中修改参数。
安装 STGW:
| 域 | 用户输入的值(样例如下) | 注释 |
|---|---|---|
| 数据库名称: | stgw | 准备 STGW 环境时所创建的数据库名称。如果已使用缺省数据库名称,则输入 STGW。 |
| JDBC 驱动程序库: | D:\IBM\SQLLIB\java\db2java.zip | 包含 JDBC 驱动程序类的完整目录路径和文件。此文件名为 db2java.zip。 |
| 应用程序用户标识: | administrator | 具有在数据库中创建表的相应权限的用户 ID。 |
| 应用程序密码: | ******** | 架构所有者的密码。 |
| 模式拥有者用户标识: | db2admin | 具有与数据库连接和读/写记录的权限的数据库用户 ID。 |
| 模式拥有者密码: | ******** | 应用程序用户的密码。 |
步骤如下:
(注:如果您有 IBM Lotus Domino V7.x 或以上版本的服务器,请选择 IBM Lotus Domino V6.5 作为 LDAP 类型)
(注:记住该帐号和密码,将来用于登录 ISC 界面,管理服务器配置)。
(注:您必须使用当您启用管理安全性时所提供的用户名和密码来停止服务器。例如,根据上述例子,应该在 WebSphere\AppServer\profiles\RTCGW_Profile\bin 目录下运行 stopserver RTCGWServer -username wasadmin -password password 命令停止 STGW 服务器)
WebSphere\AppServer\profiles\RTCGW_Profile\config\cells\ |
根据上述方法,双方公司应做好相同的配置,并输入了各自的数据。
如何集成公司间的 Sametime Gateway 服务器,使双方的 Sametime Community 连通?
以测试或开发环境为例,不考虑防火墙的问题。
根据以上方法,假设 XYZ 公司有自己的 Sametime 服务器和 STGW 环境。现在我们将 IBM 和 XYZ 公司的 STGW 服务器集成为一套完整的连通环境。步骤如下:
系统管理员应知道本公司的 Sametime 服务器的主机名和用户的 Internet 邮件域名,以及对方公司的 STGW 服务器的主机名、IP 地址和用户的 Internet 邮件域名;并在 hosts 文件中添加了对方的 STGW 服务器的主机名和 IP 地址。
创建本地及外部群体,步骤如下:
| 配置页面的域及选项 | 样例 | 注释 |
|---|---|---|
| 名称 | ibmst-internal-community | 输入任意值 |
| 群体类型 | 本地 | 缺省选项(只读) |
| 域 | ibm.com | 输入本地用户的邮件域名 |
| 转换协议 | VP | 缺省选项,本地 Sametime 服务器所用的协议 |
| 主机名 | ibmst.ibm.com | 输入本地 Sametime 服务器主机名 |
| 端口 | 1516 | 缺省端口号(即:Sametime 群体服务器监听来自 sametime service 请求的端口) |
| 传输协议 | TCP | 缺省选项(只读) |
| 配置页面的域及选项 | 样例 | 注释 |
|---|---|---|
| 名称 | xyzstgw-external-community | 输入任意值 |
| 群体类型 | 外部 | 缺省选项(只读) |
| 域 | xyz.com | 输入对方公司用户的邮件域名 |
| 转换协议 | SIP for Sametime Gateway | 在该样例中,由于对方公司 Sametime Gateway 作为网关,所以此处选择 SIP for Sametime Gateway。注:
|
| 主机名 | xyzstgw.xyz.com | 对方公司的 Sametime Gateway 服务器主机名 |
| 端口 | 5061 | 缺省端口号(即:STGW SIP Connector 监听的端口) |
| 传输协议 | TLS | 缺省选项 |
指定可以与外部群体用户进行实时通讯的用户。
交换证书
SSL 是 Netscape 公司设计的主要用于 Web 的安全传输协议,以提高应用程序之间数据的安全系数。IETF 组织将 SSL 作了标准化,并将其称为 TLS(即:安全传输层协议,Transport Layer Security Protocol),它实际上是 SSL 的新版本,现在是 TLS 1.0。
TLS 用于在两个通信应用程序之间提供保密性和数据完整性。对于我们的上述环境,两个 Sametime Gateway 服务器之间的传输协议采用的是 TLS 。该协议由两层组成:TLS 记录协议 (TLS Record) 和 TLS 握手协议 (TLS Handshake)。每层具有很多不同格式的信息。在此文件中我们不作具体解析。下面针对配置方法进行详述:
| 配置页面的域 | 样例 | 注释 |
|---|---|---|
| 主机 | xyzstgw.xyz.com | 对方公司的 Sametime Gateway 服务器主机名 |
| 端口 | 5061 | 输入 STGW SIP Connector 监听的端口 |
| 别名 | xyzstgw | 输入任意值 |
根据上述方法,双方公司应做好相同的配置,并正确输入了自己与对方公司的数据。
退出 ISC 管理界面。停止各自的 STGW 服务器和 Sametime 服务器。然后重新启动各自的 Sametime 服务器和 STGW 服务器。
假设 IBM 公司某用户使用 Sametime Client 7.0 作为客户端,XYZ 公司某用户使用 UIM 7.5.1 作为客户端。
IBM 公司的用户启动 Sametime Client 7.0 客户端,登录到 IBM 的 Sametime 服务器。
在“添加个人或群组”对话框的“群体”下拉列表中选择“外部”,然后输入 XYZ 公司某用户的邮件地址,例如:
将该用户添加后,在联系人列表中显示出来。
用类似的方法,XYZ 公司的某用户(例如:xyzuser1)通过 UIM 7.5.1 登录到 XYZ 公司的 Sametime 服务器。
在“新建联系人”对话框中选中“按电子邮件地址添加外部用户”,然后输入对方用户的邮件地址(例如:ibmuser1@ibm.com),单击“添加”按钮。
此时 XYZ 公司的用户也可以看到 IBM 公司用户的在线状态。
双方可以进行即时通讯。
通过 Sametime Gateway 7.5.1 所提供的其他转换协议:SIP for AOL、SIP for legacy Sametime Gateway、SIP for Yahoo 和 XMPP,按照上述部署方法,Sametime 用户就可以通过 Sametime Gateway 轻松的与 AOL Instant Messenger、其他 Sametime (包括旧版本)、Yahoo Messenger 以及 Google Talk 等不同即时消息工具的用户建立连接。
STGW 安装过程中,安装过程的详细信息被记录到 WebSphere\STgateway\logs\installlog.txt 文件中。若安装失败,可以通过分析该文件定位原因。
如果要跟踪服务器执行过程的详细信息,可以通过以下方法启动 log 文件的跟踪状态。便于您日后跟踪服务器运行情况,分析问题。(Log 文件位于 WebSphere\AppServer\profiles\RTCGW_Profile\logs)
WebSphere\AppServer\profiles\RTCGW_Profile\config\cells\ |
如果您用 IBM Tivoli Directory Server 作为 LDAP 服务器,同样需要在 wimconfig.xml 文件的
如果您的测试或开发环境的 LDAP 服务器中没有此字段,可以将用户或群组以 .ldif 文件格式引出,用文本编辑器打开后为每个用户和群组添加 ibm-appuuid 字段并赋予唯一值。然后引入回 LDAP 服务器中。例如:
如果您试图在 Sametime Client 端添加外部用户,但却在“群体”下拉列表中看不到“外部”选项时(或者当您的 Sametime 和 STGW 服务器都启动后,在 STGW 服务器端 telnet 不到 1516 端口时),请检查您的 sametime.ini 文件中是否添加了 VPS_BYPASS_TRUSTED_IPS=1 参数。
如果 GB18030 字符在 ISC 中无法正常显示,请用文本编辑器打开 WebSphere\AppServer\properties\encoding.properties 文件,找到 zh=GB2312,将 GB2312 改为 UTF-8 后保存即可。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14751907/viewspace-604102/ ,如需转载,请注明出处,否则将追究法律责任。