• 全部
  • 經驗案例
  • 典型配置
  • 技術公告
  • FAQ
  • 漏洞說明
  • 全部
  • 全部
  • 大數據引擎
  • 知了引擎
產品線
搜索
取消
案例類型
發布者
是否解決
是否官方
時間
搜索引擎
匹配模式
高級搜索

H3C M9008S,沒有將INVITE和CANCEl,發到同一個IP和端口

2025-11-11提問
  • 1關注
  • 1收藏,831瀏覽
粉絲:0人 關注:4人

問題描述:

H3C M9008S負載均衡器,沒有將同一個呼叫中的INVITE和CANCEl,發到同一個IP和端口。

最佳答案

粉絲:98人 關注:11人

需啟用SIP協議的負載均衡ALG(應用層網關)功能,具體解決方案如下:

 

 原因分析

SIP協議(如INVITE/CANCEL)屬於有狀態應用,其子會話(如媒體流、控製信令)需關聯到同一後端服務器。若負載均衡未啟用SIP ALG功能,可能導致:

1. 會話不關聯:INVITECANCEL被識別為獨立請求,分發至不同服務器。

2. 業務中斷:服務器無法匹配CANCEL對應的原始會話,造成呼叫異常終止。

 

 解決方案

 1. 開啟SIP ALG功能

在負載均衡器係統視圖下啟用SIP協議的ALG處理:

system-view

loadbalance alg sip   開啟SIP ALG

作用:識別SIP報文中的Call-IDVia等頭部字段,確保同一會話的請求(如INVITE/CANCEL)被綁定到相同服務器。

驗證命令:display loadbalance alg 檢查SIP狀態為Enabled

 2. 調整負載均衡算法

若仍存在分發不一致,改用源IP哈希算法增強粘連性:

server-farm <服務器組名>

  predictor hash address source   基於源IP哈希分發

優勢:同一客戶端的全部請求(含INVITE/CANCEL)固定轉發至同一服務器。

 3. 檢查特殊端口配置

SIP使用非標準端口(非5060/5061),需添加端口映射:

port-mapping application sip port <自定義端口號>

原因:ALG默認僅處理知名端口流量,自定義端口需顯式映射。

 技術依據

ALG工作機製: 

  如資料所述,ALG通過解析應用層協議(如SIPCall-ID)實現會話關聯(《H3C SecPath F1000係列命令參考》)。 

端口映射必要性: 

  非知名端口場景需手動映射,否則ALG不生效(使用指導:當虛服務器端口為非知名端口時...)。


注意事項: 

 配置後需通過抓包驗證INVITE/CANCELCall-ID是否一致及是否分發至同一服務器。 

若問題仍存,檢查安全策略是否攔截SIP流量(如ACLASPF狀態檢測)。

 

通過上述配置,可確保SIP呼叫的完整事務處理在同一服務器完成,解決業務中斷問題。

暫無評論

2 個回答
軍刺 五段
粉絲:3人 關注:0人

要解決 H3C M9008S 負載均衡器未將同一 SIP 呼叫的 INVITE 和 CANCEL 請求分發到同一服務器 IP 和端口的問題,需通過配置 SIP 會話保持策略實現。以下是詳細步驟和分析:
一、問題根源
SIP 協議是無狀態的應用層協議,同一呼叫的 INVITE、CANCEL、ACK 等請求需轉發到同一台後端服務器才能保證呼叫控製正常。若負載均衡器未配置基於 SIP 會話的保持策略,會因負載均衡算法(如輪詢、加權輪詢)將請求分發到不同服務器,導致呼叫異常。
二、配置步驟(H3C M9008S)
1. 啟用 SIP 應用層會話保持
登錄負載均衡器 Web 界麵或 CLI,配置虛擬服務的應用層保持策略,基於 SIP 的Call-ID或From/To頭域保持會話:
# 進入係統視圖
<Device> system-view
# 創建SIP會話保持模板
[Device] slb template persist sip-session
[Device-slb-template-persist-sip-session] persist-type sip # 類型為SIP
[Device-slb-template-persist-sip-session] sip-callid # 基於Call-ID保持(推薦)
[Device-slb-template-persist-sip-session] quit

# 配置虛擬服務,關聯會話保持模板
[Device] slb virtual-server vs-sip 10.0.0.10 5060 udp # 虛擬IP和端口(SIP默認5060/UDP)
[Device-slb-vs-vs-sip] persist sip-session # 關聯上述SIP會話保持模板
[Device-slb-vs-vs-sip] server-pool sp-sip # 關聯後端服務器池
[Device-slb-vs-vs-sip] quit
2. 配置後端服務器池(Server Pool)
確保後端 SIP 服務器已加入服務器池,並配置健康檢查(如 SIP OPTIONS 探測):
# 創建服務器池
[Device] slb server-pool sp-sip
[Device-slb-server-pool-sp-sip] server 192.168.1.10 5060 # 後端SIP服務器1
[Device-slb-server-pool-sp-sip] server 192.168.1.20 5060 # 後端SIP服務器2
[Device-slb-server-pool-sp-sip] health-check enable # 啟用健康檢查
[Device-slb-server-pool-sp-sip] health-check type sip # 健康檢查類型為SIP
[Device-slb-server-pool-sp-sip] quit
3. 驗證會話保持
發起 SIP 呼叫,抓取負載均衡器的轉發日誌或數據包,確認同一Call-ID的 INVITE、CANCEL 請求被轉發到同一後端服務器 IP 和端口。
使用命令查看會話保持表:
display slb persist session
三、關鍵配置說明
SIP 會話保持類型:優先選擇Call-ID(SIP 呼叫的唯一標識),若需兼容舊設備也可選擇From/To頭域,但Call-ID更可靠。
健康檢查:必須啟用 SIP OPTIONS 探測,確保負載均衡器能識別後端服務器的存活狀態,避免將請求分發到故障服務器。
超時時間:會話保持的超時時間需大於 SIP 呼叫的最大持續時間(如默認 3600 秒),避免會話提前過期。
四、排錯步驟
檢查配置一致性:確認虛擬服務、會話保持模板、服務器池的配置未遺漏或衝突。
抓包分析 SIP 頭域:在負載均衡器前後端抓包,驗證Call-ID是否一致,以及負載均衡器是否基於該標識分發請求。
升級固件版本:若配置正確但問題仍存在,可能是固件 BUG,需升級到 H3C 官方推薦的穩定版本(如 V7.1.070 及以上)。
通過以上配置,H3C M9008S 可確保同一 SIP 呼叫的所有請求被分發到同一後端服務器,解決 INVITE 和 CANCEL 請求分發不一致的問題。

暫無評論

zhiliao_9TRcir 知了小白
粉絲:0人 關注:4人

目前出現這個問題是我們新增的一個farm,端口用了5090,其他farm沒有這個情況。我們使用的是全局變量配置。

暫無評論

編輯答案

你正在編輯答案

如果你要對問題或其他回答進行點評或詢問,請使用評論功能。

分享擴散:

提出建議

    +

親~登錄後才可以操作哦!

確定

親~檢測到您登陸的賬號未在http://hclhub.h3c.com進行注冊

注冊後可訪問此模塊

跳轉hclhub

你的郵箱還未認證,請認證郵箱或綁定手機後進行當前操作

舉報

×

侵犯我的權益 >
對根叔社區有害的內容 >
辱罵、歧視、挑釁等(不友善)

侵犯我的權益

×

泄露了我的隱私 >
侵犯了我企業的權益 >
抄襲了我的內容 >
誹謗我 >
辱罵、歧視、挑釁等(不友善)
騷擾我

泄露了我的隱私

×

您好,當您發現根叔知了上有泄漏您隱私的內容時,您可以向根叔知了進行舉報。 請您把以下內容通過郵件發送到pub.zhiliao@h3c.com 郵箱,我們會盡快處理。
  • 1. 您認為哪些內容泄露了您的隱私?(請在郵件中列出您舉報的內容、鏈接地址,並給出簡短的說明)
  • 2. 您是誰?(身份證明材料,可以是身份證或護照等證件)

侵犯了我企業的權益

×

您好,當您發現根叔知了上有關於您企業的造謠與誹謗、商業侵權等內容時,您可以向根叔知了進行舉報。 請您把以下內容通過郵件發送到 pub.zhiliao@h3c.com 郵箱,我們會在審核後盡快給您答複。
  • 1. 您舉報的內容是什麼?(請在郵件中列出您舉報的內容和鏈接地址)
  • 2. 您是誰?(身份證明材料,可以是身份證或護照等證件)
  • 3. 是哪家企業?(營業執照,單位登記證明等證件)
  • 4. 您與該企業的關係是?(您是企業法人或被授權人,需提供企業委托授權書)
我們認為知名企業應該坦然接受公眾討論,對於答案中不準確的部分,我們歡迎您以正式或非正式身份在根叔知了上進行澄清。

抄襲了我的內容

×

原文鏈接或出處

誹謗我

×

您好,當您發現根叔知了上有誹謗您的內容時,您可以向根叔知了進行舉報。 請您把以下內容通過郵件發送到pub.zhiliao@h3c.com 郵箱,我們會盡快處理。
  • 1. 您舉報的內容以及侵犯了您什麼權益?(請在郵件中列出您舉報的內容、鏈接地址,並給出簡短的說明)
  • 2. 您是誰?(身份證明材料,可以是身份證或護照等證件)
我們認為知名企業應該坦然接受公眾討論,對於答案中不準確的部分,我們歡迎您以正式或非正式身份在根叔知了上進行澄清。

對根叔社區有害的內容

×

垃圾廣告信息
色情、暴力、血腥等違反法律法規的內容
政治敏感
不規範轉載 >
辱罵、歧視、挑釁等(不友善)
騷擾我
誘導投票

不規範轉載

×

舉報說明