IBM Lotus Sametime Gateway V7.5.1 簡介

genusBIT發表於2009-09-15

什麼是 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

本文僅涉及 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\
          \wim\config\wimconfig.xml

          檔案。
        • 查詢 區段,在下面新增 。例如:

          圖 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\
            \nodes\\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 檔案的 區段下新增引數 請檢查 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 後儲存即可。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14751907/viewspace-604102/,如需轉載,請註明出處,否則將追究法律責任。

相關文章