簡介
本文檔介紹如何使用Wireshark對Jabber SIP呼叫問題進行故障排除。
必要條件
需求
思科建議您瞭解以下主題:
- SIP訊號
- Jabber通話流程
- Wireshark和資料包過濾的基本知識
採用元件
- Windows 15.0.2版Jabber
- CUCM 15su2
- Wireshark 4.4.7
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
工作階段初始通訊協定(SIP)是VoIP通訊中的標準訊號通訊協定。SIP管理呼叫建立、修改和卸除。當呼叫建立失敗時,問題通常出在SIP信令。在進行語音或影片呼叫時,Cisco Jabber使用SIP進行信令。Wireshark允許工程師捕獲和分析SIP消息、識別錯誤並查明呼叫設定失敗的原因。
疑難排解
1.識別並隔離受影響的呼叫流,這是一個重要步驟,因為這決定了問題涉及的網路裝置。對於本文檔的目的,請使用註冊到CUCM的2個Jabber客戶端之間的點對點呼叫作為參考,但是此基本故障排除適用於多個場景。
2.開啟Wireshark。
3.選擇正確的網路介面,並在受影響的裝置上啟動Wireshark資料包捕獲。

4.複製問題,並記錄時間戳、被叫號碼、主叫號碼以及呼叫期間的任何特定錯誤或行為等重要資訊。
5.停止並收集Wireshark資料包捕獲。

6.開啟資料包捕獲並導航到Telephony > VoIP Calls > Identify the test call,然後點選Flow Sequence。

7. Wireshark從裝置的角度顯示呼叫流程圖。確定流中的網路裝置部分,並分析SIP信令,查詢SIP錯誤或任何呼叫終止或未發起原因的指示。

8.如果調查涉及任何SIP消息,請按一下該消息,Wireshark將在資料包捕獲中自動突出顯示該消息。然後,您可以對該特定資料包執行深度檢測。在此處展開相關的會話初始協定資訊,這些資訊可以在資料包詳細資訊中找到。

9. Wireshark的資料包詳細資訊部分包含該資料包的所有資訊。在此處,您可以獲取這些錯誤或消息的詳細資訊,例如Call-ID、From、To、Date、Time、Errors和Reason。如果您需要沿呼叫流程跟蹤此呼叫,則此資訊是相關的。
10.下表列出了SIP呼叫最常見的錯誤:
代碼
|
含義
|
可能的原因
|
修復/操作
|
403禁止
|
已接受,但請求被拒絕
|
使用者缺少許可權,SIP域錯誤,被策略阻止。
|
檢查撥號計畫/許可權。
|
404未找到
|
未找到使用者/擴展
|
使用者未建立,未註冊,撥打的號碼錯誤。
|
驗證使用者是否存在;檢查端點註冊;確認路由/撥號計畫。
|
408請求超時
|
沒有來自目標的響應
|
網路問題、防火牆/NAT阻止、裝置離線。
|
測試連線(ping/traceroute);開放的SIP/RTP埠;確認裝置已聯機。
|
415不支援的媒體型別
|
不支援媒體型別。
|
SDP包括不受支援的編解碼器/格式。
|
調整編解碼器;確保相容的SDP產品/答案。
|
480暫時不可用
|
使用者無法連線。
|
裝置未註冊、免打擾、網路丟失。
|
確認端點狀態;核對登記;驗證網路連通性。
|
486在此繁忙
|
終結點正忙。
|
另一個呼叫上的使用者,DND處於活動狀態。
|
稍後重試;啟用呼叫等待或轉接。
|
488在此處不可接受
|
媒體協商失敗。
|
編解碼器不匹配,SRTP與RTP不匹配,不支援的DTMF方法。
|
調整編解碼器清單;檢查加密設定;匹配DTMF型別。
|
500內部伺服器錯誤
|
伺服器端故障。
|
SIP服務崩潰,配置錯誤。
|
檢查伺服器日誌/配置;重新啟動SIP服務
|
503服務不可用
|
伺服器不可用或過載。
|
伺服器關閉,維護,過載。
|
驗證伺服器運行狀況;故障切換到備份;減少負載。
|
11.目前,您必須瞭解問題所接受到影響的大局,常見情況包括:
- Jabber生成錯誤或終止呼叫。如果是這種情況,您必須收集Jabber日誌,並使用從之前獲得的packet details部分中的資訊跟蹤呼叫。對於Jabber日誌分析,建議使用文本編輯器進行過濾,您可以使用呼叫ID資訊顯示與該呼叫相關的資訊,也可以使用過濾的有用關鍵字sipio來顯示日誌中的所有SIP消息。您必須搜尋可能引起問題的SIP故障相關錯誤或事件。
- Jabber從另一個裝置或伺服器收到錯誤,在這種情況下,您必須從呼叫流的伺服器部分收集其他日誌。在某些情況下,會出現Call Manager日誌和跟蹤、Expressway日誌和網關調試。所需資訊因受影響的呼叫流程而異。
適用於SIP的Wireshark顯示過濾器
Display filters(顯示過濾器)可以在Wireshark中用於過濾和顯示特定資訊、多個呼叫或消息。表中提到了一些示例:
目的
|
顯示篩選條件
|
備註
|
所有SIP流量
|
sip
|
僅顯示SIP信令(無媒體)。
|
邀請消息
|
sip.Method == "INVITE"
|
用於呼叫建立分析。
|
註冊報文
|
sip.Method == "REGISTER"
|
有關註冊/身份驗證問題。
|
所有SIP錯誤(4xx/5xx/6xx)
|
sip.Status-Code >= 400
|
快速隔離失敗的請求。
|
特定SIP錯誤(例如403)
|
sip.Status-Code == 403
|
僅檢查一種型別的故障。
|
按呼叫ID篩選
|
sip.Call-ID == "abcd1234@domain.com"
|
端到端跟蹤單個呼叫/會話。
|
特定IP的SIP自/至
|
ip.addr == 192.168.1.50和& sip
|
關注一個終端的SIP流量。
|
所有RTP流量
|
rtp
|
僅顯示RTP媒體流。
|
結論
此結構化工作流程可供工程師使用,以便有效地解決Cisco Jabber SIP呼叫問題。Wireshark結合了SIP流視覺化和資料包分析,使其成為解決Jabber呼叫設定問題的重要工具。