直接路由的本機媒體優化問題

您可能會發現直接路由的本機媒體優化 (LMO) 不會如預期般運作。 例如,Microsoft Teams 不會傳送  X-Ms-UserLocation   和  X-Ms-MediaPath   標頭,或是  X-Ms-UserLocation   標頭包含錯誤的位置,也就是通話失敗。

本文提供一些您可以嘗試修正這些問題的解決方案。

不傳送 x 毫秒-UserLocation 和 X-MediaPath 標頭

X-Ms-UserLocation X-Ms-MediaPath LMO 需要和標頭。 未傳送這些標頭的其中一個最常見原因是 LMO 的閘道未設定正確。

若要檢查閘道設定,請執行下列 CsOnlinePSTNGateway Cmdlet:

Get-CSOnlinePSTNGateway | Select Identity, Fqdn, Enabled, MediaBypass, GatewaySiteId, ProxySbc, BypassMode

若要啟用 LMO,請確定已設定此 Cmdlet 中所選取的所有屬性。 這一點特別重要 BypassMode 。 以下是此 Cmdlet 的輸出範例:

Identity        : VNsbc.contoso.com 
Fqdn            : VNsbc.contoso.com 
Enabled         : True 
MediaBypass     : True 
GatewaySiteId   : Vietnam 
ProxySbc        : proxysbc.contoso.com 
BypassMode      : Always 

Identity        : proxysbc.contoso.com 
Fqdn            : proxysbc.contoso.com 
Enabled         : True 
MediaBypass     : True 
GatewaySiteId   : Singapore 
ProxySbc        :  
BypassMode      : Always 

附注: 此處顯示的值可能與您看到的值不同。

以 X 毫秒 UserLocation 標頭傳送錯誤的位置

如果標頭中的網路位置資訊 X-Ms-UserLocation 是指定為  外部 的,但您預期會看到 [內部] 的值,這表示 Teams 用戶端的公用 IP 位址不符合信任的 IP 位址清單中的任何專案。

若要修正此問題,請找出 Teams 所使用的用戶端公用 IP 位址,然後將其新增至清單。

  1. 開啟 Microsoft Teams 記錄檔。

  2. 在 MSTeams 診斷記錄檔中找到用戶端所列的公用 IP 位址 [Date] __ [Time] _calling.txt   file。 以下是此檔案的範例:

    Txt 檔案中公用 IP 位址的螢幕擷取畫面。

  3. 執行 CsTenantTrustedIPAddress 指令程式 ,以取得信任的 IP 位址清單:

    Get-CsTenantTrustedIPAddress
    

    您看到的輸出應類似如下:

    Identity      : 192.168.0.0 
    RemoteMachine : WU22A00TAD02.lync2A001.local
    MaskBits      : 24
    Description   : Private IP subnet
    IPAddress     : 192.168.0.0 
    Element       : <TrustedIPAddress IPAddress="192.168.0.0" MaskBits="24" 
    Description="Private IP subnet" 
    xmlns="urn:schema:Microsoft.Rtc.Management.Settings.TenantNetworkConfiguration.2017" />
    

    請注意,此清單中找不到在步驟2中標出用戶端的 IP 位址。

  4. 執行 CsTenantTrustedIPAddress Cmdlet,將遺失的 IP 位址新增至清單:

    New-CsTenantTrustedIPAddress -IPAddress 123.456.123.0 -MaskBits 29 -Description "Seattle site trusted IP"
    

    Cmdlet 的輸出應類似下列範例:

    新增遺失的 IP 位址的螢幕擷取畫面。

    您可以看到用戶端的 IP 位址現在已新增至信任的 IP 位址清單中。

  5. 重新開機 Teams 用戶端,以便可以立即識別新新增的 IP 位址。 否則,清單最多可能需要30分鐘才能更新。

    重新開機之後,Teams 會在信任的 ip 地址清單中找到用戶端 ip 位址的相符專案,如下列範例所示:

    符合的 IP 位址的螢幕擷取畫面。

啟用 LMO 和 LBR 時,撥入電話會失敗或移至語音信箱

發生此問題最可能的原因之一,是從接收通話的會話邊界控制器 (SBC) 上,未正確設定標頭或路由資訊。

檢查會話初始通訊協定 (的 SIP) 從 SBC 傳送的郵件頭包含下列資訊,如果不正確,請加以更新。

  • SIP URI 包含地區 SBC (FQDN) 的完整功能變數名稱。
  • 連絡人標頭包含區域 SBC 的 FQDN。
  • Record-Route 包含 proxy SBC 的 FQDN。

如果沒有為區域 SBC 定義 proxy SBC,則只會檢查 Record-Route。 如果 Record-Route 遺失,便會檢查連絡人標頭。

如果標頭設定正確,則問題可能是由於 SBC 上的路由設定不當所造成。

請確定 SBC 已 Location-Based 路由 (LBR) 已啟用。 GatewaySiteLbrEnabled參數必須設定為 True

此外,SBC 必須指派給開始通話之用戶端的相同網站。

附注: 不需要對 LBR 啟用 proxy SBC。

若要判斷 SBC 指派是否正確,請找出 Teams 用戶端記錄中所註冊的使用者網站,並將它與 SBC 的工作分派資訊進行比較:

  1. 開啟 Microsoft Teams 記錄檔。

  2. 識別列在 MSTeams 診斷記錄檔 [Date] __ [Time] _calling.txt 檔案中的使用者網站資訊   。 以下是此檔案的範例:

    包含網站資訊之 txt 檔案的螢幕擷取畫面。

  3. 請執行 CsOnlinePSTNGateway 指令程式 ,以檢查 SBC 的設定。 您看到的輸出應類似下列範例:

    檢查 SBC 設定的螢幕擷取畫面。

  4. 在步驟2的輸出中, networksiteId 使用者網站資訊中列出的參數值為 "越南。 不過,在步驟3的輸出中, GatewaySiteId 會在 SBC 設定中列出的同等參數值為 "印度"。 這不相符。 若要更新 SBC 的設定,請執行 CsOnlinePSTNGateway 指令程式 ,如下所示:

    Set-CSOnlinePSTNGateway -Identity "VNsbc.contoso.com" -GatewaySiteID "Vietnam"
    

    接下來,執行 Get-CsOnlinePSTNGateway Cmdlet 以驗證 SBC 的更新設定。 現在輸出應該會顯示正確的 GatewaySiteId 參數值。

    更新 GatewaySiteId 的螢幕擷取畫面。

仍需要協助嗎? 移至 Microsoft Community