配置「Rtcomm 閘道」

「Rtcomm 閘道」新增可讓「階段作業起始通訊協定 (SIP)」與 Rtcomm WebRTC 端點連接的功能,以便交換音訊和視訊串流。

關於這項作業

當 Rtcomm 網路需與不同供應商的網路聯合時,「Rtcomm 閘道 (GW)」即可發揮功能。另一個網路可以是 WebRTC 端點網路,並且使用不同的方法來傳遞信號,也可以是不同的 Voice over IP (VOIP) 裝置網路,甚至是公共交換電信網路 (PSTN)。只要另一個網路會提供邊緣 GW 元素,且該元素支援廣泛採用的 SIP 通訊協定,這樣的聯合是可行的。

「Rtcomm 閘道」同時支援適用於 SIP 的「互動式連線功能建立 (ICE)」(根據 RFC 5245)和適用於 SIP 的累進式 ICE(根據 IETF 草稿)。這份草稿仍標示為「工作進行中」,因此根據這份草稿的進度,這項實作未來有可能變更。

程序

  1. server.xml 檔中新增 rtcommGateway-1.0 特性,以便啟用「Rtcomm 閘道」功能。
    <featureManager>
    	  <feature>rtcommGateway-1.0</feature>
    </featureManager>
    「Rtcomm 閘道」是在 rtcomm 區段中配置。這項配置可讓您定義:
    1. 指示 GW 將從送入的 Rtcomm 信號訊息轉換而來的 SIP 訊息導引至何處。選項有三個:
      • 不配置(預設值):GW 會根據 Rtcomm WebRTC 用戶端上所提供的目標 SIP 位址,嘗試解析目的地。
      • sipContainer=true:GW 將訊息傳送至內部 Liberty SIP Servlet 儲存器埠。會根據標準應用程式路由器規則,將此訊息傳遞至安裝在 Liberty 伺服器上的 JSR 289 應用程式。如需進一步詳細資料,請參閱 Liberty 中的「階段作業起始通訊協定 (SIP)」應用程式
      • ExternalPR=host:port:告知 GW 將轉換後的 SIP 訊息,遞送至 SIP Proxy 或 Registrar 的外部目的地。
    2. 為送入的 SIP 訊息定義 SIP 端點。送到 SIP 端點的訊息會轉換成 Rtcomm 信號,並根據 SIP 起始訊息 requestURI 標頭的解析,交由 GW 遞送到 WebRTC 端點。
  2. 實作「Rtcomm 閘道」時,請檢閱下列的其他注意事項。
    1. 將訊息從 Rtcomm WebRTC 傳送至 SIP。
      • REGISTER:從使用 DOCUMENT 訊息的 WebRTC 用戶端傳送 Rtcomm 登錄訊息時,可能使用 SIP 記錄位址 (AOR) 作為用戶端主題。如果登錄這類 SIP URI,GW 會將它轉換成 SIP REGISTER 要求,並根據配置所定義的規則,嘗試遞送該要求。會根據配置給 Liberty 伺服器的「Rtcomm 閘道」SIP 端點位址,以及 AOR 中所設定的使用者名稱,來建構 Contact 標頭。
      • Rtcomm START_SESSION 訊息同樣可導引至 SIP 位址。在此情況下,START_SESSION toEndpointID 欄位中會移入 URI,且其開頭是 'sip''sips''tel' 架構字首,接著將訊息轉換成 SIP INVITE,並根據所配置的規則來傳送。會根據所定義的信號實務和相關的「要求註解 (RFC)」,將對話中的所有後續訊息轉換成 SIP。此規則同時適用於「互動式連線功能建立 (ICE)」和累進式 ICE 信號實務。
    2. 將訊息從 SIP 傳送至 Rtcomm WebRTC。
      GW 目前只支援 INVITE 對話。當 SIP INVITE 送到所配置的其中一個 GW SIP 端點時,會將它轉換成 Rtcomm START_SESSION 訊息,並傳送給解析後的 WebRTC 端點。會根據下列規則來解析 WebRTC 端點:
      • 尋找 INVITE requestURI SIP 位址。如果先前的 Rtcomm DOCUMENT 訊息將端點登錄成用戶端主題,則會將 START_SESSION 訊息導引至這個主題。舉例來說,如果將 Rtcomm 端點登錄成 "sip:bob@x.y.z.w" 以作為 DOCUMENT 主題,則會將含有 "sip:bob@x.y.z.w requestURI" 的任何 INVITE 轉換成 START_SESSION,並導引至該 MQTT 主題。
      • 如果先前的步驟未解析目的地,則只會尋找 SIP requestURI 中的 user 部分。如果已登錄端點,則會將 START_SESSION 導引至該主題。舉例來說,如果將 Rtcomm 端點登錄成 "bob",則 requestURI 中的任何 <domain> 都會是 bob@domain
        註: 對於不支援的 SIP 要求,會傳回 405 錯誤回應。
    3. 轉碼和進階媒體伺服器功能。
      • 「Rtcomm 閘道」不支援處理媒體層面,並且不會執行動作,例如 SIP VOIP 與 WebRTC 端點程式碼之間的轉碼。也就是說,就其基本用法來說,GW 只容許不同 WebRTC 端點之間的聯合,或使用類似程式碼與多媒體串流通訊協定(例如 WebRTC 標準)之端點之間的聯合。
      • 若要充分利用「Rtcomm 閘道」功能,可在 Liberty 伺服器中擴增一項特性,由該特性根據 JSR 309 標準,來提供媒體伺服器連接器的 API。除了記錄、公告播放、用於多方 A/V 會議的串流混合等之類的其他眾多進階特性,利用這項特性,您還可以在 Liberty 伺服器上,建立和安裝一個使用媒體伺服器進行轉碼和多媒體串流通訊協定轉換的應用程式。詳細資料可在 JSR 309 規格中找到。
      • 請參閱 WASdev 以尋找範例應用程式,其使用媒體伺服器作為媒體中介和轉換器,利用 JSR 289 和 309 來連接 SIP 軟體電話和 Rtcomm WebRTC 端點。
      • 應用程式會使用 SIP Servlet (JSR 289) 與 JSR 309,並在 SIP 網路與 Rtcomm WebRTC 網路之間進行調解。此應用程式只需要在 server.xml 檔中配置內部遞送;例如:
        <rtcomm messageServerHost="<brokerhostname>" messageServerPort="<brokerhostport>"
                     <gateway sipContainer="true"></gateway>
        </rtcomm>
        註: 在導引送入的 SIP 訊息時,請確定其目標 SIP 埠是 SIP Servlet 儲存器端點埠,而不是 GW 端點埠。請參閱在 Liberty 中管理「階段作業起始通訊協定 (SIP)」

範例

在本例中,送入的 WebRTC 訊息會導引至外部 SIP 端點,它可能是一個 Proxy 或 Registrar,例如 1.2.23.2:5063
<rtcomm messageServerHost="<brokerhostname>" messageServerPort="<brokerhostport>"
   <gateway sipContainer="false" externalPR="1.2.23.2:5063" allowFromSipEndpointRef="webrtc2, webrtc"></gateway>
</rtcomm>
送入的 SIP 訊息可以位於 "webrtc""webrtc2" SIP 端點上。在下列範例中,"webrtc" 使用預設埠 5060localhost
<sipEndpoint id="webrtc"></sipEndpoint>
<sipEndpoint id="webrtc2" sipTCPPort="5067" sipUDPPort="5067" sipTLSPort="5068" host="*"></sipEndpoint>

指示主題類型的圖示 作業主題



「時間戳記」圖示 前次更新: 2016 年 11 月 30 日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_config_webrtc_gateway
檔名:twlp_config_webrtc_gateway.html