IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Lotus  >

IBM Lotus Sametime Gateway V7.5.1 简介

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

郭 茵熙 (guoyinxi@cn.ibm.com), 软件工程师, IBM 中国软件开发技术实验室
郑 弘 (hzheng@cn.ibm.com), 软件开发部经理, IBM 中国软件开发技术实验室

2007 年 10 月 31 日

随着 Sametime 7.5 版本的出台,一个全新的子产品 Real-Time Collaboration Gateway (简称 RTC Gateway 7.5 )应运而生。伴随 Sametime 7.5.1 的发布,RTC Gateway 在功能上有了进一步改进,产品更名为 IBM Lotus Sametime Gateway 7.5.1,取代了 Lotus Sametime 早期版本中的 Sametime SIP Gateway。本文将对这一最新产品进行比较详细的介绍。

什么是 Sametime Gateway?

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 Gateway
    • Legacy Sametime Gateway (即:Sametime 早期版本中提供的 Sametime SIP Gateway)
    • AOL Instant Messenger
    • Google Talk
    • Yahoo Messenger

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 建立明确的直接连接。


图 1. Sametime Gateway 的工作连接图示
图 1. 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 目录的“个人”和“群组”的表单添加此域。步骤如下:

  1. 在 Domino Designer 中打开“Domino 目录” 模板(即 pubnames.ntf),打开“个人”表单。
  2. 选择任何非隐藏的位置创建一个名为 dominoUNID 的域,按下表填写类型和公式。

    域名:dominoUNID
    类型:Computed
    公式:@Text(@DocumentUniqueID)




    图 2. 添加 dominoUNID 域
    图 2. 添加 dominoUNID 域

  3. 保存表单。
  4. 从 Domino 目录的“个人”视图中打开任意一个“个人”文档,dominoUNID 的数值显示出来。

    图 3. 显示 dominoUNID 域的数值
    图 3. 显示 dominoUNID 域的数值

  5. 按上述方法,向“群组”表单中添加 dominoUNID 域。
  6. 用 pubnames.ntf 模板刷新 Domino 目录,更改该数据库的设计。

步骤 2:修改 Domino 服务器上的 stpolicy.nsf 数据库中的参数

为了允许您的 Sametime 服务器的用户与外部其他即时消息传递群体的用户进行即时通讯,需要修改以下参数:

打开 “Sametime 策略” 数据库(即:stpolicy.nsf)中的 DefaultPVS 文档,找到 "Name: Allow users to connect to external communities" 条目,将缺省值从 0 改为 1。


图 4. 修改策略数据库设置
图 4. 修改策略数据库设置

步骤 3:修改 Sametime.ini 参数

要配置 Sametime 服务器支持 STGW 服务器,您必须通过编辑 Sametime.ini 文件来设置一个安全性级别,步骤如下:

  1. 使用文本编辑器打开 Sametime 服务器上的 Sametime.ini 文件(该文件位于您的 Domino 程序目录下,例如:C:\Program Files\Lotus\Domino\Sametime.ini)。
  2. 执行以下操作,设置一个安全性级别:
    • 在测试或开发环境中,您可以配置 Sametime 服务器接受所有信任的 IP 地址。要实现这种功能,请将下面这行加入 Debug 区段中:
      [Debug]
      VPS_BYPASS_TRUSTED_IPS=1
      					

    • 在产品环境中,您可以将 STGW 服务器的 IP 地址添加到可信服务器的 IP 地址列表中。将 STGW 服务器的 IP 地址加入 Configuration 区段中:
      [Config]
      VPS_TRUSTED_IPS=trusted IP address, trusted IP address
      					

      请使用逗号来分隔新项和原有的项。





回页首


Sametime Gateway 7.5.1 的安装及配置

如何在 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。步骤如下:

  1. 创建 STGW 数据库:

    • 在 Windows 命令窗口输入 db2cmd,启动 db2 命令窗口。
    • STGW 7.5.1 的安装介质上提供数据库脚本文件 STGWInstall\database\db2\createDb.sql,在 db2 命令窗口运行 db2 -tvf createDb.sql 命令,该脚本将创建名称为 stGW 的数据库。

    注: 如果要使用其他数据库名称,则在执行该步骤之前,将需要在 createDb.sql 中修改参数。



    图 5. 创建数据库 stGW
    图 5. 创建数据库 stGW

  2. 安装 STGW:

    • 运行 STGWInstall\install.bat,启动安装向导。
    • 在“选择安装类型”对话框,选择第一个选项“单服务器(网络部署的主节点)”。单击“下一步”。
    • 在“输入 WebSphere Application Server 的安装文件根路径”对话框,指定 WebSphere Application Server 的安装程序所处位置。单击“下一步”。
    • 选择 WebSphere Application Server 的安装目录,例如:D:\WebSphere\AppServer。单击“下一步”。
    • 在“输入该 Sametime Gateway 服务器的属性”对话框中,接受节点、单元和主机名的默认值。单击“下一步”。
    • 指定 Sametime Gateway 的安装目录,例如:D:\WebSphere\STgateway。单击“下一步”。
    • 在“指定 DB2 数据库属性”对话框中,输入数值,单击“下一步”。

      用户输入的值(样例如下) 注释
      数据库名称:stgw准备 STGW 环境时所创建的数据库名称。如果已使用缺省数据库名称,则输入 STGW。
      JDBC 驱动程序库:D:\IBM\SQLLIB\java\db2java.zip包含 JDBC 驱动程序类的完整目录路径和文件。此文件名为 db2java.zip。
      应用程序用户标识:administrator具有在数据库中创建表的相应权限的用户 ID。
      应用程序密码:********架构所有者的密码。
      模式拥有者用户标识:db2admin具有与数据库连接和读/写记录的权限的数据库用户 ID。
      模式拥有者密码:********应用程序用户的密码。


    • 单击“安装”按钮,开始安装 Sametime Gateway。
    • 安装完成后,在对话框上单击“完成”按钮,退出安装向导。

启动 STGW 服务器

步骤如下:

  1. 启动 Windows 命令窗口,转至 WebSphere\AppServer\profiles\RTCGW_Profiles\bin 目录。
  2. 运行 serverstart RTCGWServer 命令,启动 STGW 服务器。

如何设置管理的安全性和 LDAP?

  1. 通过 Web 浏览器访问 http://yourstgwserver-hostname:9060/ibm/console 地址,启动 ISC 管理控制台登录界面,以任意用户名登录。
  2. 选择“安全性”>“安全管理、应用程序和基础结构”,在右边的页面中可以看到“用户帐户存储库”区域,在“可用的域定义”下拉列表中选择“联合存储库”,然后单击“配置”按钮。

    图 6. 配置联合存储库
    图 6. 配置联合存储库

  3. 在“联合存储库”的配置页面,单击“将基本条目添加至域...”按钮。

    图 7. 将基本条目添加至域
    图 7. 将基本条目添加至域

  4. 在显示的“存储库引用”的配置页面,单击“添加存储库...”按钮。

    图 8. 添加存储库
    图 8. 添加存储库

  5. 在显示的“新建”配置页面,根据您的 LDAP 服务器的参数,输入相应的数值。然后单击“确定”按钮。例如:

    (注:如果您有 IBM Lotus Domino V7.x 或以上版本的服务器,请选择 IBM Lotus Domino V6.5 作为 LDAP 类型)



    图 9. 配置 LDAP 服务器信息
    图 9. 配置 LDAP 服务器信息

  6. 页面自动转至“存储库引用”配置页面,根据您的 LDAP 服务器的参数,输入“用于在域中唯一标识这组条目的基本条目的专有名称”。然后单击“确定”按钮。例如:

    图 10. 专有名称
    图 10. 专有名称

  7. 页面自动转至“联合存储库”配置页面。在“主要管理用户名”域中,输入一个不是 LDAP 目录中的用户名,作为主要管理用户名。例如:wasadmin。并选择“自动生成服务器标识”选项。然后单击“确定”按钮。例如:

    图 11. 设置管理用户名
    图 11. 设置管理用户名

  8. 页面自动转至“管理用户密码”配置页面。 输入密码,然后再次输入此密码进行确认。

    (注:记住该帐号和密码,将来用于登录 ISC 界面,管理服务器配置)。

  9. 页面自动转至“安全管理、应用程序和基础结构”配置页面,从“可用的域定义”下拉列表中选择“联合存储库”,并单击“设置为当前”按钮。

    图 12. 设置为当前
    图 12. 设置为当前

  10. 选中“启用管理安全性”选项、取消选择“启用应用程序安全性”和“使用 Java 2 安全性来限制应用程序访问本地资源”及其子选项;保存您的设置。

    图 13. 保存设置
    图 13. 保存设置

  11. 退出 ISC 界面。
  12. 启动 Windows 命令窗口,转至 WebSphere\AppServer\profiles\RTCGW_Profiles\bin 目录,运行 serverstop RTCGWServer 命令,停止 STGW 服务器。

    (注:您必须使用当您启用管理安全性时所提供的用户名和密码来停止服务器。例如,根据上述例子,应该在 WebSphere\AppServer\profiles\RTCGW_Profile\bin 目录下运行 stopserver RTCGWServer -username wasadmin -password password 命令停止 STGW 服务器)

  13. 修改 wimconfig.xml 文件:
    • 用文本编辑器打开
      WebSphere\AppServer\profiles\RTCGW_Profile\config\cells\
      <yourcellname>\wim\config\wimconfig.xml

      文件。
    • 查找 <config:attributeConfiguration> 区段,在下面添加 <config:externalIdAttributes name="dominoUNID"/>。例如:

      图 14. 添加 dominoUNID
      图 14. 添加 dominoUNID

    • 保存并关闭该文件。
  14. 停止并重新启动 STGW 服务器。当您要登录 ISC 管理控制台时,需要输入用户名和密码。

根据上述方法,双方公司应做好相同的配置,并输入了各自的数据。

如何集成公司间的 Sametime Gateway 服务器,使双方的 Sametime Community 连通?

以测试或开发环境为例,不考虑防火墙的问题。

根据以上方法,假设 XYZ 公司有自己的 Sametime 服务器和 STGW 环境。现在我们将 IBM 和 XYZ 公司的 STGW 服务器集成为一套完整的连通环境。步骤如下:

  1. 系统管理员应知道本公司的 Sametime 服务器的主机名和用户的 Internet 邮件域名,以及对方公司的 STGW 服务器的主机名、IP 地址和用户的 Internet 邮件域名;并在 hosts 文件中添加了对方的 STGW 服务器的主机名和 IP 地址。



    图 15. 管理员须知的系统信息
    图 15. 管理员须知的系统信息

  2. 创建本地及外部群体,步骤如下:

    • 登录 ISC 管理控制台,展开“Sametime Gateway”导航栏,单击“群体”链接。
    • 新建一个本地群体,在所有必要的域中填写数据,保存。例如:

      配置页面的域及选项 样例 注释
      名称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。 注:
      • 如果对方公司用 AOL 网关,此处应选 SIP for AOL
      • 如果对方公司用旧版本 Sametime SIP 网关,此处应选 SIP for legacy Sametime Gateway
      • 如果对方公司用 Yahoo 网关,此处应选 SIP for Yahoo
      • 如果对方公司用 XMPP 类型的网关,此处应选 XMPP (如 Google Talk)
      主机名xyzstgw.xyz.com对方公司的 Sametime Gateway 服务器主机名
      端口5061缺省端口号(即:STGW SIP Connector 监听的端口)
      传输协议TLS缺省选项


  3. 指定可以与外部群体用户进行实时通讯的用户。

    • 在 Sametime Gateway 群体列表中,选中您所创建的外部群体条目,单击“指定用户”按钮。

      图 16. 单击“指定用户”
      图 16. 单击“指定用户”

    • 为方便起见,您可以选择“所有用户”,以允许所有本地用户(例如:IBM 公司的用户)可以与外部群体(例如:XYZ 公司的用户)用户进行实时通讯。

      图 17. 选择“所有用户”
      图 17. 选择“所有用户”

  4. 交换证书

    SSL 是 Netscape 公司设计的主要用于 Web 的安全传输协议,以提高应用程序之间数据的安全系数。IETF 组织将 SSL 作了标准化,并将其称为 TLS(即:安全传输层协议,Transport Layer Security Protocol),它实际上是 SSL 的新版本,现在是 TLS 1.0。

    TLS 用于在两个通信应用程序之间提供保密性和数据完整性。对于我们的上述环境,两个 Sametime Gateway 服务器之间的传输协议采用的是 TLS 。该协议由两层组成:TLS 记录协议 (TLS Record) 和 TLS 握手协议 (TLS Handshake)。每层具有很多不同格式的信息。在此文件中我们不作具体解析。下面针对配置方法进行详述:

    • 在“安全性”导航栏中选择“SSL 证书和密钥管理”,然后在右边的配置页面单击“密钥库和证书”链接。
    • 单击“NodeDefaultTrustStore”链接
    • “配置”页面显示出来,在“其他属性”区域单击“签署者证书”链接。
    • 然后单击“从端口检索”按钮。
    • 在显示的“配置”页面中填写必要的数据,然后单击“检索签署者信息”按钮。

      配置页面的域 样例 注释
      主机xyzstgw.xyz.com对方公司的 Sametime Gateway 服务器主机名
      端口5061输入 STGW SIP Connector 监听的端口
      别名xyzstgw输入任意值


    • 信息显示如下,单击“确定”按钮。

      图 18. 单击“确定”
      图 18. 单击“确定”

    • 单击“保存”。

      图 19. 单击“保存”
      图 19. 单击“保存”

    根据上述方法,双方公司应做好相同的配置,并正确输入了自己与对方公司的数据。

  5. 退出 ISC 管理界面。停止各自的 STGW 服务器和 Sametime 服务器。然后重新启动各自的 Sametime 服务器和 STGW 服务器。





回页首


检查预期结果

假设 IBM 公司某用户使用 Sametime Client 7.0 作为客户端,XYZ 公司某用户使用 UIM 7.5.1 作为客户端。

  1. IBM 公司的用户启动 Sametime Client 7.0 客户端,登录到 IBM 的 Sametime 服务器。

  2. 在“添加个人或群组”对话框的“群体”下拉列表中选择“外部”,然后输入 XYZ 公司某用户的邮件地址,例如:



    图 20. 添加外部群组
    图 20. 添加外部群组

  3. 将该用户添加后,在联系人列表中显示出来。



    图 21. 联系人列表显示
    图 21. 联系人列表显示

  4. 用类似的方法,XYZ 公司的某用户(例如:xyzuser1)通过 UIM 7.5.1 登录到 XYZ 公司的 Sametime 服务器。

  5. 在“新建联系人”对话框中选中“按电子邮件地址添加外部用户”,然后输入对方用户的邮件地址(例如:ibmuser1@ibm.com),单击“添加”按钮。



    图 22. 新建联系人
    图 22. 新建联系人

  6. 此时 XYZ 公司的用户也可以看到 IBM 公司用户的在线状态。



    图 23. 查看状态
    图 23. 查看状态

  7. 双方可以进行即时通讯。



    图 24. 进行通讯
    图 24. 进行通讯

通过 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 等不同即时消息工具的用户建立连接。





回页首


提示

  1. STGW 安装过程中,安装过程的详细信息被记录到 WebSphere\STgateway\logs\installlog.txt 文件中。若安装失败,可以通过分析该文件定位原因。

  2. 如果要跟踪服务器执行过程的详细信息,可以通过以下方法启动 log 文件的跟踪状态。便于您日后跟踪服务器运行情况,分析问题。(Log 文件位于 WebSphere\AppServer\profiles\RTCGW_Profile\logs)

    • 用文本编辑器打开
      WebSphere\AppServer\profiles\RTCGW_Profile\config\cells\<yourcellname>
      \nodes\<yournodename>\servers\RTCGWServer\server.xml

      文件。
    • 搜索语句:startupTraceSpecification="*=info"
    • 将其修改为 startupTraceSpecification="*=info:com.ibm.rtc*=finest:com.ibm.ws.sip*=finest"
    • 保存文档。
  3. 如果您用 IBM Tivoli Directory Server 作为 LDAP 服务器,同样需要在 wimconfig.xml 文件的 <config:attributeConfiguration> 区段下添加参数 <config:externalIdAttributes name="ibm-appuuid"/>。 请检查 IBM Tivoli Directory Server 的用户和组的参数设置,确保存在 ibm-appuuid 属性和唯一标识。例如:



    图 25. 检查 LDAP 用户和组的参数设置
    图 25. 检查 LDAP 用户和组的参数设置

    如果您的测试或开发环境的 LDAP 服务器中没有此字段,可以将用户或群组以 .ldif 文件格式引出,用文本编辑器打开后为每个用户和群组添加 ibm-appuuid 字段并赋予唯一值。然后引入回 LDAP 服务器中。例如:



    图 26. 添加 ibm-appuuid 字段
    图 26. 添加 ibm-appuuid 字段

  4. 如果您试图在 Sametime Client 端添加外部用户,但却在“群体”下拉列表中看不到“外部”选项时(或者当您的 Sametime 和 STGW 服务器都启动后,在 STGW 服务器端 telnet 不到 1516 端口时),请检查您的 sametime.ini 文件中是否添加了 VPS_BYPASS_TRUSTED_IPS=1 参数。

  5. 如果 GB18030 字符在 ISC 中无法正常显示,请用文本编辑器打开 WebSphere\AppServer\properties\encoding.properties 文件,找到 zh=GB2312,将 GB2312 改为 UTF-8 后保存即可。



参考资料

学习

获得产品和技术

讨论


作者简介

郭茵熙照片

郭茵熙,软件工程师,丰富的 FVT、GVT、NLV 和 TVT 经验,目前在 IBM 中国软件开发技术实验室从事 Lotus 产品的本地化和全球化测试工作。您可以通过 guoyinxi@cn.ibm.com 和她联系。


郑弘照片

郑弘,软件开发部经理,丰富的 FVT、GVT、NLV 和 TVT 测试经验和管理经验,负责 WPLC 系列化产品的本地化和全球化测试和开发工作。您可以通过 hzheng@cn.ibm.com 和他联系。




对本文的评价










回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款