基於sip協議實現voip網絡狀態監測的系統及方法
2023-10-06 01:41:34 1
基於sip協議實現voip網絡狀態監測的系統及方法
【專利摘要】本發明涉及一種基於SIP協議實現VOIP網絡狀態監測的系統及方法,其中包括SIP協議棧模塊、呼叫控制模塊、網絡狀態處理模塊和應用層模塊。採用該種結構的基於SIP協議實現VOIP網絡狀態監測的系統及方法,可以在不影響協議棧的情況下對協議棧發出的正常消息請求包通過網絡狀態管理模塊進行SIP消息包的組裝,形成包含網絡狀態的消息請求包,並發出攜帶該網絡狀態的SIP信令包,對於接收到的帶有網絡狀態的SIP響應消息後,可以正確的進行解析提取出網絡狀態,並且進行消息包的重新組裝,恢復協議棧可以正常識別的包,向下傳遞,可以通過抓包直接定位網絡狀態,避免通過其它方式去查找定位網絡情況,具有更廣泛的應用範圍。
【專利說明】基於SIP協議實現VOIP網絡狀態監測的系統及方法
【技術領域】
[0001]本發明涉及網絡監測【技術領域】,尤其涉及網絡電話的網絡監測【技術領域】,具體是指一種基於SIP協議實現VOIP網絡狀態監測的系統及方法。
【背景技術】
[0002]隨著光網絡的飛速發展和數字傳輸技術的應用,原來在數據通信網中被視為應用「瓶頸」的帶寬和服務質量等問題一一得到解決,推動了 IP技術的飛速發展,帶動各種應用向 IP 靠攏,VOIP (Voice over Internet Protocol)電話 /VOIP 網絡電話(又稱 IP PHONE或VoIP)業務就是其中一個典型的應用。
[0003]SIP (Sess1n Initiat1n Protocol,即初始會話協議),SIP 是 IETF 制定的多媒體通信協議,它是一個基於文本的應用層控制協議,獨立於底層協議,用於建立、修改和終止IP網上的雙方或多方的多媒體會話。SIP是一個客戶/伺服器協議。協議消息分為兩類:請求和響應;SIP易於擴展和伸縮一具有靈活的可擴展性和極強的能力協商機制,新方法、新消息頭及功能的增加,對協議沒有影響。
[0004]目前現網測試當中遇到的很多問題,都是由於網絡狀態影響的,基於SIP協議的VOIP系統獲取的網絡狀態並不是直接顯示在SIP信令包中,而是我們根據其它進程或者模塊發過來的網絡狀態(WAN連接的connected狀態)消息去獲取並且顯示最終SIP的註冊效果,並不能真正的反饋網絡的狀態。這就造成了現網對接測試中,不能正確獲取網絡狀態,終端從而產生了各種難以理解的現象。例如:現網對接測試當中,網絡是可以Ping通,但是VOIP的註冊狀態就是顯示網絡不可達。由於現網的對接測試當中包裡完全看不出任何網絡原因,所以只能通過telnet方式去抓取相應的log,根據抓取的log進行分析,這樣就導致解決問題的效率比較低。
【發明內容】
[0005]本發明的目的是克服了上述現有技術的缺點,提供了一種能夠實現的基於SIP協議實現VOIP網絡狀態監測的系統及方法。
[0006]為了實現上述目的,本發明的基於SIP協議實現VOIP網絡狀態監測的系統及方法具有如下構成:
[0007]該基於SIP協議實現VOIP網絡狀態監測的系統,其主要特點是,所述的系統包括:
[0008]SIP協議棧模塊,用以生成請求消息和接收響應信息包;
[0009]呼叫控制模塊,用以將所述的SIP協議棧模塊生成的請求消息發送至網絡狀態處理模塊並根據所述的網絡狀態處理模塊返回的響應信息包進行語音註冊狀態調整;
[0010]網絡狀態處理模塊,用以對所述的呼叫控制模塊發送的請求消息進行處理和對應用層模塊返回的響應信息包進行還原;
[0011]應用層模塊,用以將處理後的請求消息發送至特定網絡伺服器並接收所述的特定網絡伺服器返回的包含網絡狀態信息的響應信息包。
[0012]較佳地,所述的網絡狀態處理模塊用以對所述的呼叫控制模塊發送的請求消息添加網絡狀態頭域和對應用層模塊返回的響應消息包去除頭域。
[0013]本發明還涉及一種根據所述的系統基於SIP協議實現VOIP網絡狀態監測的方法,其主要特點是,所述的方法包括以下步驟:
[0014](I)所述的呼叫控制模塊將所述的SIP協議棧模塊發送的請求消息發送至所述的網絡狀態處理模塊;
[0015](2)所述的網絡狀態處理模塊對所述的請求消息進行處理後發送至所述的呼叫控制豐旲塊;
[0016](3)所述的應用層模塊將所述的呼叫控制模塊轉發的處理後的請求消息發送至特定網絡伺服器;
[0017](4)所述的特定網絡伺服器自動獲取當前網絡狀態信息並將其包含在響應信息包中;
[0018](5)所述的網絡狀態處理模塊提取所述的應用層模塊轉發的響應信息包中的網絡狀態信息;
[0019](6)所述的網絡狀態處理模塊對所述的響應信息包進行還原後發送至所述的呼叫控制|吳塊;
[0020](7)所述的呼叫處理模塊根據網絡狀態信息處理語音註冊狀態並將該還原後的響應信息包發送至所述的SIP協議棧模塊。
[0021]較佳地,所述的網絡狀態處理模塊對所述的請求消息進行處理後,具體為:
[0022]所述的網絡狀態處理模塊對所述的呼叫控制模塊發送的請求消息添加網絡狀態頭域。
[0023]較佳地,所述的網絡狀態處理模塊對所述的響應信息包進行還原,具體為:
[0024]所述的網絡狀態處理模塊對所述的響應信息包進行去除網絡狀態頭域處理。
[0025]更佳地,所述的步驟(5)和(6)之間,還包括以下步驟:
[0026](5-1)所述的應用層模塊將所述的響應信息包中的網絡狀態信息保存至系統新網絡狀態中。
[0027]更進一步地,所述的呼叫處理模塊根據網絡狀態信息處理語音註冊狀態,包括以下步驟:
[0028](7-1)所述的呼叫處理模塊接收到還原後的響應信息包後判斷系統舊網絡狀態與系統新網絡狀態是否一致,如果是,則繼續步驟(7-2),否則繼續步驟(7-3);
[0029](7-2)所述的呼叫處理模塊根據新網絡狀態修改語音註冊狀態;
[0030](7-3)所述的呼叫處理模塊不進行語音註冊狀態調整。
[0031]採用了該發明中的基於SIP協議實現VOIP網絡狀態監測的系統及方法,具有如下有益效果:
[0032]該發明的系統和方法可以在不影響協議棧的情況下對協議棧發出的正常SIP消息請求包通過網絡狀態管理模塊進行SIP消息包的組裝,形成包含網絡狀態的SIP消息請求包,並發出攜帶該網絡狀態的SIP信令包,對於接收到的帶有網絡狀態的SIP響應消息後,可以正確的進行解析提取出網絡狀態,並且通過網絡狀態管理模塊進行消息包的重新組裝即去除帶有網絡狀態的頭域,恢復協議棧可以正常識別的包,向下傳遞,可以通過抓包直接定位網絡狀態,避免通過其它方式去查找定位網絡情況,具有更廣泛的應用範圍。
【專利附圖】
【附圖說明】
[0033]圖1為本發明的基於SIP協議實現VOIP網絡狀態監測的系統的結構示意圖。
[0034]圖2為本發明的攜帶網絡狀態信息的SIP協議信令包格式。
[0035]圖3為本發明的基於SIP協議實現VOIP網絡狀態監測的方法的信令交互圖。
[0036]圖4為本發明的基於SIP協議實現VOIP網絡狀態監測的方法的流程圖。
【具體實施方式】
[0037]為了能夠更清楚地描述本發明的技術內容,下面結合具體實施例來進行進一步的描述。
[0038]如圖1所示,該基於SIP協議實現VOIP網絡狀態監測的系統包括:
[0039]SIP協議棧模塊,用以生成請求消息和接收響應信息包;
[0040]呼叫控制模塊,用以將所述的SIP協議棧模塊生成的請求消息發送至網絡狀態處理模塊並根據所述的網絡狀態處理模塊返回的響應信息包進行語音註冊狀態調整;
[0041]網絡狀態處理模塊,用以對所述的呼叫控制模塊發送的請求消息進行處理和對應用層模塊返回的響應信息包進行還原;
[0042]應用層模塊,用以將處理後的請求消息發送至特定網絡伺服器並接收所述的特定網絡伺服器返回的包含網絡狀態信息的響應信息包。
[0043]在一種較佳的實施方式中,所述的網絡狀態處理模塊用以對所述的呼叫控制模塊發送的請求消息添加網絡狀態頭域和對應用層模塊返回的響應消息包去除頭域。
[0044]如圖4所示,本發明還涉及一種根據所述的系統基於SIP協議實現VOIP網絡狀態監測的方法,包括以下步驟:
[0045](I)所述的呼叫控制模塊將所述的SIP協議棧模塊發送的請求消息發送至所述的網絡狀態處理模塊;
[0046](2)所述的網絡狀態處理模塊對所述的請求消息進行處理後發送至所述的呼叫控制豐旲塊;
[0047](3)所述的應用層模塊將所述的呼叫控制模塊轉發的處理後的請求消息發送至特定網絡伺服器;
[0048](4)所述的特定網絡伺服器自動獲取當前網絡狀態信息並將其包含在響應信息包中;
[0049](5)所述的網絡狀態處理模塊提取所述的應用層模塊轉發的響應信息包中的網絡狀態信息;
[0050](6)所述的網絡狀態處理模塊對所述的響應信息包進行還原後發送至所述的呼叫控制|吳塊;
[0051](7)所述的呼叫處理模塊根據網絡狀態信息處理語音註冊狀態並將該還原後的響應信息包發送至所述的SIP協議棧模塊。
[0052]在一種較佳的實施方式中,所述的網絡狀態處理模塊對所述的請求消息進行處理後,具體為:
[0053]所述的網絡狀態處理模塊對所述的呼叫控制模塊發送的請求消息添加網絡狀態頭域。
[0054]在一種較佳的實施方式中,所述的網絡狀態處理模塊對所述的響應信息包進行還原,具體為:
[0055]所述的網絡狀態處理模塊對所述的響應信息包進行去除網絡狀態頭域處理。
[0056]在一種更佳的實施方式中,所述的步驟(5)和(6)之間,還包括以下步驟:
[0057](5-1)所述的應用層模塊將所述的響應信息包中的網絡狀態信息保存至系統新網絡狀態中。
[0058]在一種更進一步的實施方式中,所述的呼叫處理模塊根據網絡狀態信息處理語音註冊狀態,包括以下步驟:
[0059](7-1)所述的呼叫處理模塊接收到還原後的響應信息包後判斷系統舊網絡狀態與系統新網絡狀態是否一致,如果是,則繼續步驟(7-2),否則繼續步驟(7-3);
[0060](7-2)所述的呼叫處理模塊根據新網絡狀態修改語音註冊狀態;
[0061](7-3)所述的呼叫處理模塊不進行語音註冊狀態調整。
[0062]下面以一具體實施例來進一步介紹本發明的系統及方法。
[0063]本發明涉及SIP協議、VOIP網絡電話、特定網絡伺服器即能夠識別網絡狀態頭(NWSTATE)具有 DHCP (Dynamic Host Configurat1n Protocol,動態主機配置協議)和DNS (Domain Name System,域名系統)解析的軟交換伺服器功能等技術,其就是一種能夠監測到網絡狀態的VOIP系統及方法。
[0064]本發明就是為了克服現有VOIP技術當中不能正確有效地反饋網絡狀態至VOIP系統中從而導致在對接測試過程當中引起很多問題而提供的一種可以直接在SIP信令包中反饋網絡狀態的方法,直接有效的定位和排除網絡問題。
[0065]為了實現上述目的,本發明一種基於SIP協議監測VOIP網絡狀態的系統及方法具體實現包括以下步驟:
[0066]VOIP系統包括SIP協議棧模塊,呼叫控制模塊、底層驅動模塊、SIP業務模塊、應用層模塊和網絡狀態處理模塊。
[0067](I)家庭網關上電啟動完成後,配置了註冊伺服器、代理伺服器、外部代理伺服器、電話號碼、用戶名、密碼。
[0068](2) VOIP系統協議棧組裝正常的SIP請求消息包,並發送該消息給呼叫控制模塊,呼叫控制模塊將該消息發送給網絡狀態處理模塊,網絡狀態處理模塊添加網絡狀態頭域(Nwstate),組裝NWSTATE包成功,並將其發送給呼叫控制模塊,呼叫控制模塊將該消息傳遞到應用層,應用層把該消息發至特定網絡伺服器。
[0069]即(2-1)在SIP協議棧當中添加擴展的請求消息(NWSTATE),該消息包含的頭域有TO, FROM, Cseq, Call-1D, Max-Forwards, Via> Nwstate0 如圖 2 所不。
[0070]NWSTATE SIP消息是一個SIP請求消息,60s發一次。
[0071](2-2) VOIP系統的SIP協議棧發送NWSTATE SIP請求消息至呼叫控制模塊,呼叫控制模塊發送該消息至網絡狀態處理模塊。
[0072](2-3) VOIP系統的網絡狀態處理模塊對該消息進行處理後發送該消息至應用層模塊。
[0073](2-4) VOIP系統通過發送NWSTATE SIP請求消息至特定網絡伺服器檢測網絡狀態。
[0074](3)VOIP系統發起的NWSTATE請求包至特定網絡伺服器,特定網絡伺服器可以正常的處理收到的請求包。
[0075](4)特定網絡伺服器收到該請求包後會自動的獲取當前網絡狀態並將其包含在2000K響應消息包中。如圖3所示。
[0076]即特定網絡伺服器即可以正確獲取網絡狀態並具有DNS解析、DHCP, ping、SIP軟交換功能,並且可以處理收到的NWSTATE SIP包,並且回復的200 OK響應包中攜帶TO, FROMj Cseqj Call-1Dj Max-Forwards, Via、Nwstate0
[0077](5) VOIP系統收到該響應消息後,應用層模塊調用網絡狀態處理模塊提取SIP消息中的網絡狀態,並將其保存至全局變量new_NWState中,即用來控制網絡狀態變化。其需要跟呼叫控制模塊定義的OlcLNwState進行比較。該模塊還有一個關鍵的地方就是,會將SIP消息進行還原,即去除2000K響應消息中的Nwstate頭域,並將去除NWstate頭的消息發送給呼叫控制模塊。
[0078](6)呼叫控制模塊處理來自於網絡狀態處理模塊的SIP消息,直接將該消息進行向下傳遞,協議棧收到該消息後不做任何處理,呼叫處理模塊收到該消息時,會將new_NwState和0ld_NwState進行比較,如果狀態有改變,會修改語音註冊狀態。如果狀態沒有改變,不會做任何處理。這樣就可以通過抓包直接定位網絡狀態,避免通過其它方式去查找定位網絡情況。
[0079]採用了該發明中的基於SIP協議實現VOIP網絡狀態監測的系統及方法,具有如下有益效果:
[0080]該發明的系統和方法可以在不影響協議棧的情況下對協議棧發出的正常SIP消息請求包通過網絡狀態管理模塊進行SIP消息包的組裝,形成包含網絡狀態的SIP消息請求包,並發出攜帶該網絡狀態的SIP信令包,對於接收到的帶有網絡狀態的SIP響應消息後,可以正確的進行解析提取出網絡狀態,並且通過網絡狀態管理模塊進行消息包的重新組裝即去除帶有網絡狀態的頭域,恢復協議棧可以正常識別的包,向下傳遞,可以通過抓包直接定位網絡狀態,避免通過其它方式去查找定位網絡情況,具有更廣泛的應用範圍。
[0081]在此說明書中,本發明已參照其特定的實施例作了描述。但是,很顯然仍可以作出各種修改和變換而不背離本發明的精神和範圍。因此,說明書和附圖應被認為是說明性的而非限制性的。
【權利要求】
1.一種基於SIP協議實現VOIP網絡狀態監測的系統,其特徵在於,所述的系統包括: SIP協議棧模塊,用以生成請求消息和接收響應信息包; 呼叫控制模塊,用以將所述的SIP協議棧模塊生成的請求消息發送至網絡狀態處理模塊並根據所述的網絡狀態處理模塊返回的響應信息包進行語音註冊狀態調整; 網絡狀態處理模塊,用以對所述的呼叫控制模塊發送的請求消息進行處理和對應用層模塊返回的響應信息包進行還原; 應用層模塊,用以將處理後的請求消息發送至特定網絡伺服器並接收所述的特定網絡伺服器返回的包含網絡狀態信息的響應信息包。
2.根據權利要求1所述的基於SIP協議實現VOIP網絡狀態監測的系統,其特徵在於,所述的網絡狀態處理模塊用以對所述的呼叫控制模塊發送的請求消息添加網絡狀態頭域和對應用層模塊返回的響應消息包去除頭域。
3.一種根據權利要求1或2所述的系統基於SIP協議實現VOIP網絡狀態監測的方法,其特徵在於,所述的方法包括以下步驟: (1)所述的呼叫控制模塊將所述的SIP協議棧模塊發送的請求消息發送至所述的網絡狀態處理模塊; (2)所述的網絡狀態處理模塊對所述的請求消息進行處理後發送至所述的呼叫控制模塊; (3)所述的應用層模塊將所述的呼叫控制模塊轉發的處理後的請求消息發送至特定網絡伺服器; (4)所述的特定網絡伺服器自動獲取當前網絡狀態信息並將其包含在響應信息包中; (5)所述的網絡狀態處理模塊提取所述的應用層模塊轉發的響應信息包中的網絡狀態信息; (6)所述的網絡狀態處理模塊對所述的響應信息包進行還原後發送至所述的呼叫控制模塊; (7)所述的呼叫處理模塊根據網絡狀態信息處理語音註冊狀態並將該還原後的響應信息包發送至所述的SIP協議棧模塊。
4.根據權利要求3所述的基於SIP協議實現VOIP網絡狀態監測的方法,其特徵在於,所述的網絡狀態處理模塊對所述的請求消息進行處理後,具體為: 所述的網絡狀態處理模塊對所述的呼叫控制模塊發送的請求消息添加網絡狀態頭域。
5.根據權利要求3所述的基於SIP協議實現VOIP網絡狀態監測的方法,其特徵在於,所述的網絡狀態處理模塊對所述的響應信息包進行還原,具體為: 所述的網絡狀態處理模塊對所述的響應信息包進行去除網絡狀態頭域處理。
6.根據權利要求5所述的基於SIP協議實現VOIP網絡狀態監測的方法,其特徵在於,所述的步驟(5)和(6)之間,還包括以下步驟: (5-1)所述的應用層模塊將所述的響應信息包中的網絡狀態信息保存至系統新網絡狀態中。
7.根據權利要求6所述的基於SIP協議實現VOIP網絡狀態監測的方法,其特徵在於,所述的呼叫處理模塊根據網絡狀態信息處理語音註冊狀態,包括以下步驟: (7-1)所述的呼叫處理模塊接收到還原後的響應信息包後判斷系統舊網絡狀態與系統新網絡狀態是否一致,如果是,則繼續步驟(7-2),否則繼續步驟(7-3); (7-2)所述的呼叫處理模塊根據新網絡狀態修改語音註冊狀態; (7-3)所述的呼叫處理模塊不進行語音註冊狀態調整。
【文檔編號】H04L12/26GK104363149SQ201410742542
【公開日】2015年2月18日 申請日期:2014年12月8日 優先權日:2014年12月8日
【發明者】劉莎, 趙培超, 裴淵飛 申請人:上海市共進通信技術有限公司