專利名稱:Sip防火墻軟件中的主備同步機(jī)制的制作方法
技術(shù)領(lǐng)域:
SIP防火墻設(shè)備實(shí)施主備組網(wǎng),主備數(shù)據(jù)進(jìn)行同步。SIP防火墻是用來(lái)對(duì)SIP消息進(jìn)行過(guò)濾或者處理再轉(zhuǎn)發(fā)的網(wǎng)絡(luò)設(shè)備。
背景技術(shù):
現(xiàn)在各種防火墻的實(shí)現(xiàn)都是與消息源一對(duì)一的,比如一個(gè)消息網(wǎng)關(guān)上就配置一個(gè)防火墻,沒(méi)有實(shí)現(xiàn)主備機(jī)制,這樣導(dǎo)致的問(wèn)題是防火墻的安全性與穩(wěn)定性降低,如果防火墻出了問(wèn)題,很有可能會(huì)導(dǎo)致消息無(wú)法得到正常的轉(zhuǎn)發(fā)。對(duì)于消息轉(zhuǎn)發(fā)實(shí)時(shí)性要求低的來(lái)說(shuō)可能影響不大,但是對(duì)于SIP呼叫消息來(lái)說(shuō)就影響很大了,消息沒(méi)有及時(shí)轉(zhuǎn)發(fā)就會(huì)導(dǎo)致呼叫無(wú)法正常進(jìn)行。因此如何提高SIP防火墻的安全性與穩(wěn)定性是當(dāng)今急需解決的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的核心思路就是各個(gè)SIP防火墻間進(jìn)行數(shù)據(jù)同步,實(shí)現(xiàn)主備組網(wǎng)方案,從而大大提高SIP防火墻組網(wǎng)的安全性與穩(wěn)定性。1.如果SIP防火墻收到新呼叫的invite消息包,把主被叫號(hào)碼和呼叫標(biāo)識(shí)(源 Ip,callid,from tag, to tag)發(fā)送到業(yè)務(wù)服務(wù)器中,然后業(yè)務(wù)服務(wù)器再返回消息告訴SIP 防火墻如何處理,注意業(yè)務(wù)服務(wù)器返回消息時(shí),是把響應(yīng)消息發(fā)送到與業(yè)務(wù)服務(wù)器相連的各個(gè)SIP防火墻中。響應(yīng)消息包括消息頭(標(biāo)簽,呼叫處理類型,控制塊索引),呼叫標(biāo)識(shí)。 這些收到回應(yīng)消息的防火墻都要根據(jù)回應(yīng)該消息頭中的控制塊索引來(lái)分配控制塊,把處理方法以及呼叫信息記錄下來(lái),以便對(duì)后面收到的呼叫消息做處理。2.如果SIP防火墻收到非新呼叫的消息包,防火墻根據(jù)呼叫標(biāo)識(shí)去找控制塊,如果找到控制塊,就按控制塊記錄的處理方法來(lái)處理,同時(shí)向業(yè)務(wù)服務(wù)器發(fā)送呼叫狀態(tài)消息, 消息包括消息頭(標(biāo)簽,呼叫處理類型,控制塊索引),CSeq頭域中的Method和請(qǐng)求頭名或者響應(yīng)頭名。業(yè)務(wù)服務(wù)器根據(jù)消息來(lái)更新呼叫控制塊中的呼叫狀態(tài)。3.如果SIP防火墻收到呼叫消息包后找到對(duì)應(yīng)的控制塊,要是invite消息就按收到新呼叫的invite消息包方法處理。如果是非invite消息就直接轉(zhuǎn)發(fā)出去。4.業(yè)務(wù)服務(wù)器上每次收到SIP防火墻發(fā)來(lái)的呼叫狀態(tài)消息,在更新呼叫狀態(tài)時(shí), 都要判斷呼叫是否結(jié)束,如果是結(jié)束了就把控制塊釋放,同時(shí)通知各個(gè)與之相連的SIP防火墻上的對(duì)應(yīng)呼叫控制塊釋放掉。通知消息包括消息包括消息頭(標(biāo)簽,呼叫處理類型,控制塊索引)。
圖1是SIP防火墻主備同步組網(wǎng)圖;圖2是SIP防火墻主備同步機(jī)制的呼叫標(biāo)識(shí)結(jié)構(gòu)具體實(shí)施例方式INVITE sip :13366558833010. 0. 4. 2:5090 SIP/2.0Via :SIP/2. 0/UDP 10. 0. 4. 1:5070 ;branch = z9hG4bK-2136_100-0From " 16677895555〃 <sip: 16677895555il0. 0. 4. 1:5070> ;tag = 100To " 13366558833" <sip:13366558833il0. 0. 4. 2:5090>Call-ID :100-2136010. 0. 4. 1CSeq 1 INVITEContact :<sip:16677895555010. 0. 4. 1:5070>Max-Forwards :70Subject-Performance TestContent-Type !application/sdpContent-Length :185v = 0ο = userl 53655765 2353687637 IN IP4 10.0.4.1c = IN IP4 10. 0. 4. 1t = 00m = audio 10099 RTP/AVP 8a = rtpmap :8 PCMA/8000a = rtpmap :101 telephone-event/8000a = fmtp :101 0-11,161. SIP防火墻收到新呼叫的invite消息包,把主被叫號(hào)碼和呼叫標(biāo)識(shí)(源Ip,
callid,from tag, to tag)發(fā)送到業(yè)務(wù)服務(wù)器中,然后業(yè)務(wù)服務(wù)器再返回消息告訴SIP防
火墻如何處理。
主叫號(hào)碼16677895555,被叫號(hào)碼13366558833
源 IP 10. 0. 4. 1,call-id :100-2136010. 0. 4. 1
From tag 100,to tag 無(wú)
SIP/2.0180 Ringing
Via :SIP/2. 0/UDP 10. 0. 4. 1:5070 ;branch = z9hG4bK-2136_100-0
From “ 16677895555“<sip16677895555010. 0. 4. 15070> ;tag = 100
To: “ 13366558833"<sip13366558833010. 0. 4. 2:5090> ;tag = 100
Call-ID :100-2136010.0. 4. 1
CSeq 1 INVITE
Contact :<sip:192. 168. 6. 94:5090 ;transport = UDP>
Content-Length :0
2. SIP防火墻收到非新呼叫的消息包=Ringing,防火墻根據(jù)呼叫標(biāo)識(shí)去找控制
塊,如果找到控制塊,就按控制塊記錄的處理方法來(lái)處理,同時(shí)向業(yè)務(wù)服務(wù)器發(fā)送呼叫狀態(tài)消息,消息包括消息頭(標(biāo)簽,呼叫處理類型,控制塊索引),CSeq頭域中的Method和請(qǐng)求頭名或者響應(yīng)頭名。業(yè)務(wù)服務(wù)器根據(jù)消息來(lái)更新呼叫控制塊中的呼叫狀態(tài)。Method INVITE,響應(yīng)頭名180 RingingSIP/2.0 200 OKVia :SIP/2. 0/UDP 10. 0. 4. 1:5070 ;branch = z9hG4bK-2136_100-0From " 16677895555〃 <sip: 16677895555il0. 0. 4. 1:5070> ;tag = 100To " 13366558833" <sip:13366558833il0. 0. 4. 2:5090> ;tag = 100Call-ID : 100-2136010. 0. 4. 1CSeq 1 INVITEContact :<sip:830990192. 168. 6. 94:5090 ;transport = UDP>Max-Forwards :70Subject -Performance TestContent-Type !application/sdpContent-Length :197v = 0ο = user 253655765 2353687637 IN IP4 192.168.6.94s = -sippc = IN IP4 192. 168. 6. 94t = 0 0m = audio 10099 RTP/AVP 8a = rtpmap :8 PCMA/8000a = rtpmap :101 telephone-event/8000a = fmtp :101 0-11,163.收到非新呼叫的消息包200 0K,SIP防火墻向業(yè)務(wù)服務(wù)器發(fā)送呼叫狀態(tài)消息。Method INVITE, 響應(yīng)頭名200 OKACK sip13366558833010. 0. 4. 2:5090 SIP/2. 0Via :SIP/2. 0/UDP 10. 0. 4. 15070 ;branch = z9hG4bK_2136-100_5 ;rportFrom “ 16677895555〃 <sip 16677895555il0. 0. 4. 1 5070> ;tag = 100To “ 13366558833" <sip13366558833il0. 0. 4. 25090> ;tag = 100Call-ID :100-2136010. 0. 4. 1CSeq 1 ACKContact :<sip16677895555010. 0. 4. 15070>Max-Forwards 70Subject-Performance TestContent-Length :04.收到非新呼叫的消息包ACK,SIP防火墻向業(yè)務(wù)服務(wù)器發(fā)送呼叫狀態(tài)消息。Method :ACK,響應(yīng)頭名ACKBYE sip :13366558833il0. 0. 4. 2:5090 SIP/2.0Via :SIP/2. 0/UDP 10. 0. 4. 1:5070 ;branch = z9hG4bK-2136-100_8 ;rportFrom " 16677895555〃 <sip: 16677895555il0. 0. 4. 1:5070> ;tag = 100
To:" 13366558833〃 <sip 13366558833il0. 0. 4. 2 5090> ;tag = 100Call-ID 100-2136010. 0. 4. 1CSeq :2BYEContact :<sip:16677895555010. 0. 4. 1:5070>Max-Forwards :70Subject-Performance TestContent-Length :05.收到非新呼叫的消息包BYE,SIP防火墻向業(yè)務(wù)服務(wù)器發(fā)送呼叫狀態(tài)消息。Method :BYE, 響應(yīng)頭名BYESIP/2.0 200 OKVia :SIP/2. 0/UDP 10. 0. 4. 1:5070 ;branch = z9hG4bK-2136-100_8 ;rportFrom " 16677895555〃 <sip: 16677895555il0. 0. 4. 1:5070> ;tag = 100To:" 13366558833" <sip: 13366558833il0. 0. 4. 2:5090>: tag = 100Call-ID : 100-2136010. 0. 4. 1CSeq :2BYEContact :<sip:192. 168. 6. 94:5090 ;transport = UDP>Content-Length :06.收到非新呼叫的消息包200 OK, SIP防火墻向業(yè)務(wù)服務(wù)器發(fā)送呼叫狀態(tài)消息, 業(yè)務(wù)服務(wù)器發(fā)現(xiàn)之前已經(jīng)收到BYE消息,現(xiàn)在收到2000K,說(shuō)明呼叫釋放,就把本呼叫控制塊釋放,同時(shí)通知各個(gè)與之相連的SIP防火墻上的對(duì)應(yīng)呼叫控制塊釋放掉。Method :BYE, 響應(yīng)頭名200 OK
權(quán)利要求
1.SIP防火墻軟件中的主備同步機(jī)制,其特征在于,SIP防火墻是主備組網(wǎng),同一個(gè)SIP 消息來(lái)源的消息包可能會(huì)經(jīng)過(guò)不同的SIP防火墻,主備防火墻同時(shí)工作運(yùn)行。
2.主備多臺(tái)SIP防火墻與同一臺(tái)業(yè)務(wù)服器通過(guò)TCP連接。
3.SIP防火墻與業(yè)務(wù)服務(wù)器通過(guò)SIP呼叫的標(biāo)識(shí)來(lái)唯一確定一個(gè)呼叫,這些呼叫標(biāo)識(shí)包括SIP呼叫消息的源ip,SIP呼叫消息的call id, SIP呼叫消息的from tag, SIP呼叫消息的 remote tag。
4.主備多臺(tái)SIP防火墻對(duì)同一個(gè)呼叫的處理由業(yè)務(wù)服務(wù)器統(tǒng)一控制,使得主備多臺(tái) SIP防火墻對(duì)同一個(gè)呼叫的處理達(dá)到一致。
5.根據(jù)權(quán)利要求4所述,其特征在于,SIP防火墻收到呼叫的第一條INVITE消息時(shí),就向業(yè)務(wù)服務(wù)器請(qǐng)求對(duì)此呼叫的處理方法,業(yè)務(wù)服務(wù)器把處理方法和呼叫標(biāo)識(shí)發(fā)送到主備各個(gè)SIP防火墻,SIP防火墻收到后記錄下來(lái),以便以后收到此呼叫消息時(shí)使用這個(gè)處理方法來(lái)處理此呼叫消息包。
6.根據(jù)權(quán)利要求4所述,其特征在于,主備多臺(tái)SIP防火墻收到同一個(gè)呼叫的消息時(shí), 把SIP消息CSeq頭域中的Method和請(qǐng)求頭名或者響應(yīng)頭名發(fā)送到業(yè)務(wù)服務(wù)器,業(yè)務(wù)服務(wù)器再根據(jù)消息內(nèi)容來(lái)更新呼叫的狀態(tài)。
7.根據(jù)權(quán)利要求6所述,其特征在于,業(yè)務(wù)服務(wù)器根據(jù)呼叫的狀態(tài)來(lái)確定呼叫是否已經(jīng)釋放,如果是,業(yè)務(wù)服務(wù)器就要把內(nèi)部記錄此呼叫信息的控制塊釋放掉,同時(shí)還要通知主備各個(gè)SIP防火墻把內(nèi)部用來(lái)記錄此呼叫信息的控制塊進(jìn)行釋放。
全文摘要
SIP防火墻軟件中的主備同步機(jī)制,本發(fā)明涉及一種基于SIP消息防火墻所使用的主備同步機(jī)制。因?yàn)橹鱾涠嗯_(tái)SIP防火墻同時(shí)處理SIP呼叫的消息包,同一個(gè)呼叫在呼叫過(guò)程會(huì)產(chǎn)生多條SIP消息,這些消息可能分別經(jīng)過(guò)不同的SIP防火墻,那么主備SIP防火墻是如何統(tǒng)一的處理這些屬于同一個(gè)呼叫的SIP消息,實(shí)現(xiàn)主備同步。為了解決主備同步問(wèn)題,多臺(tái)SIP防火墻的操作必須由統(tǒng)一的業(yè)務(wù)服務(wù)器控制,而SIP防火墻與業(yè)務(wù)服務(wù)器通過(guò)SIP呼叫標(biāo)識(shí)來(lái)唯一確定一個(gè)呼叫,這樣對(duì)同一個(gè)呼叫,主備防火墻的處理就可以達(dá)到一致,實(shí)現(xiàn)同步。本發(fā)明用來(lái)解決SIP防火墻的主備同步問(wèn)題,實(shí)現(xiàn)主備組網(wǎng)方案,從而提高SIP防火墻的安全性與穩(wěn)定性。
文檔編號(hào)H04L29/06GK102594781SQ20111000611
公開日2012年7月18日 申請(qǐng)日期2011年1月12日 優(yōu)先權(quán)日2011年1月12日
發(fā)明者楊振廣 申請(qǐng)人:深圳市震有科技有限公司