一種基于sip協(xié)議的語音主備倒換方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及光通信語音領(lǐng)域,具體涉及一種基于SIP協(xié)議的語音主備倒換方法。
【背景技術(shù)】
[0002]在OLT(光網(wǎng)絡(luò)終端)通信系統(tǒng)中,主控是整個(gè)通信系統(tǒng)的中心,主控一般采用1+ 1冗余備份方式,以保證主控出現(xiàn)故障或者遭遇重啟時(shí)OLT上的業(yè)務(wù)不被中斷,即當(dāng)正在工作的主控出現(xiàn)故障或者遭遇重啟時(shí),另外一塊閑置的備盤可以立即變成主盤工作。
[0003]目前,主備倒換技術(shù)主要針對(duì)硬件的主備倒換或者配置和管理的主備倒換,很少涉及到語音業(yè)務(wù)的主備倒換,但是隨著市場(chǎng)和降低成本的需求,現(xiàn)在需要在OLT主控上實(shí)現(xiàn)語音業(yè)務(wù),這樣在主控出現(xiàn)故障進(jìn)行主備倒換時(shí),正在運(yùn)行的語音業(yè)務(wù)會(huì)被中斷,遭到用戶投訴,因此語音業(yè)務(wù)也需在主控上實(shí)行1 + 1的軟件備份,保證主控因故障進(jìn)行主備倒換時(shí),語音業(yè)務(wù)也能進(jìn)行主備倒換,使OLT上正在參與語音業(yè)務(wù)的用戶感知不到主控這時(shí)的主備迀移。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題是主控因故障進(jìn)行主備倒換時(shí),語音業(yè)務(wù)也能進(jìn)行主備倒換,并使OLT上正在參與語音業(yè)務(wù)的用戶感知不到主控這時(shí)的主備迀移的問題。
[0005]為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是提供一種基于SIP協(xié)議的語音主備倒換方法,包括以下步驟:
[0006]步驟A10、0LT通信系統(tǒng)的主控備盤上電,初始化后發(fā)送語音同步信號(hào);
[0007]步驟A20、主控主盤收到語音同步信號(hào)后,掃描OLT上所有語音端口,并按順序把各個(gè)端口的注冊(cè)信息、正在參與語音業(yè)務(wù)的端口的SIP協(xié)議棧關(guān)鍵信息和所有對(duì)話的呼叫信息以及RTP通道信息同步到備盤;
[0008]步驟A30、當(dāng)主盤檢測(cè)到端口的語音注冊(cè)信息或者呼叫信息發(fā)生變化,或者端口中一路對(duì)話在呼叫狀態(tài)下收到一個(gè)事件,更新主控備盤上相應(yīng)的注冊(cè)信息或者呼叫信息;
[0009]步驟A40、當(dāng)正在運(yùn)行的主控主盤發(fā)生故障或重啟時(shí),語音模塊收到主控備盤與主控主盤倒換的信號(hào),執(zhí)行語音主備倒換。
[0010]在上述方法中,
[0011]所述注冊(cè)信息包括注冊(cè)定時(shí)器的注冊(cè)刷新或者注冊(cè)失敗后重試的剩余時(shí)間、注冊(cè)序列號(hào)、Call-1d及注冊(cè)狀態(tài);
[0012]所述SIP協(xié)議棧關(guān)鍵信息包括:主控主盤保存的參與語音業(yè)務(wù)的端口發(fā)送或者接收的INVITE信令涉及到對(duì)話的關(guān)鍵字段,以及發(fā)送或者接收的180ring涉及到對(duì)話的關(guān)鍵字段;
[0013]所述呼叫信息包括正在參與語音業(yè)務(wù)的端口的所有對(duì)話的呼叫狀態(tài)、數(shù)圖及長短定時(shí)器匹配狀態(tài)、所撥的號(hào)碼、摘掛機(jī)的狀態(tài)、放音定時(shí)器;
[0014]所述RTP通道信息包括遠(yuǎn)端IP和遠(yuǎn)端的RTP端口號(hào)以及本端的IP和本端的RTP端口號(hào)。
[0015]在上述方法中,所述關(guān)鍵字段包括:
[0016]from字段,是請(qǐng)求發(fā)起者的邏輯標(biāo)志;
[0017]from-tag字段,是請(qǐng)求發(fā)起者的本地標(biāo)識(shí);
[0018]to字段,是第一個(gè)并且也是最先指定請(qǐng)求的“邏輯”接收地;
[0019]to-tag字段,是指響應(yīng)者的本地標(biāo)識(shí);
[0020]call-1d字段,是區(qū)分一組消息的唯一標(biāo)志;
[0021]via字段,標(biāo)識(shí)了應(yīng)答送回的地址;
[0022]branch-1d字段,用于區(qū)分請(qǐng)求創(chuàng)建的事務(wù);
[0023]contact字段,包含了本端的聯(lián)系方式,通常由用戶名和一個(gè)主機(jī)的全名組成。
[0024]在上述方法中,當(dāng)同步到主控備盤的注冊(cè)定時(shí)器的剩余時(shí)間和放音定時(shí)器不為O時(shí),則啟動(dòng)主控備盤注冊(cè)定時(shí)器和放音定時(shí)器,但當(dāng)主控備盤的注冊(cè)定時(shí)器或者放音定時(shí)器超時(shí)時(shí)不執(zhí)行具體操作。
[0025]在上述方法中,當(dāng)主控主盤后續(xù)發(fā)送或者接收2000K終止響應(yīng)時(shí),則把2000K中涉及到對(duì)話的關(guān)鍵字段contact和to-tag的值替換180ring的關(guān)鍵字段contact和to-tag的值。
[0026]本發(fā)明采用語音事件驅(qū)動(dòng)和狀態(tài)變化觸發(fā)的主備同步,保證語音業(yè)務(wù)軟件同步的實(shí)時(shí)性高,主備倒換的速度快,當(dāng)主盤出現(xiàn)問題或者故障時(shí),語音業(yè)務(wù)能立即進(jìn)行主備倒換,快速地切換到備盤處理,倒換過程中不影響用戶語音業(yè)務(wù)的正常進(jìn)行,讓正在參與語音業(yè)務(wù)的用戶感知不到故障的存在,并且該方法也同樣適用于其他語音協(xié)議業(yè)務(wù)軟件的主備倒換。
【附圖說明】
[0027]圖1為本發(fā)明提供的一種基于SIP協(xié)議的語音主備倒換方法的流程圖;
[0028]圖2為本發(fā)明中以一個(gè)做主叫的端口的實(shí)施例主控主、備盤間語音業(yè)務(wù)實(shí)時(shí)同步的流程圖。
【具體實(shí)施方式】
[0029]下面結(jié)合說明書附圖和具體實(shí)施例對(duì)本發(fā)明做出詳細(xì)的說明。
[0030]本發(fā)明提供的一種基于SIP協(xié)議的語音主備倒換方法,如圖1所示,包括以下步驟:
[0031]步驟A10、0LT通信系統(tǒng)的主控備盤上電,初始化后發(fā)送語音同步信號(hào)給正在運(yùn)行的主控主盤;
[0032]步驟A20、主控主盤收到語音同步信號(hào)后,掃描OLT上所有語音端口,并按順序把各個(gè)端口的注冊(cè)信息、正在參與語音業(yè)務(wù)的端口的所有CallLeg(對(duì)話)的呼叫信息、正在參與語音業(yè)務(wù)的端口的SIP協(xié)議棧關(guān)鍵信息和RTP通道信息同步到備盤,使得備盤和主盤的語音關(guān)鍵信息保持一致。其中,
[0033]注冊(cè)信息包括注冊(cè)定時(shí)器的注冊(cè)刷新或者注冊(cè)失敗后重試的剩余時(shí)間、注冊(cè)序列號(hào)、Call-1d(呼叫地址)及注冊(cè)狀態(tài)等,這些注冊(cè)信息組成數(shù)據(jù)結(jié)構(gòu)同步到主控備盤上;如果同步到主控備盤的定時(shí)器的剩余時(shí)間此時(shí)不為0,則啟動(dòng)注冊(cè)定時(shí)器,當(dāng)主控備盤的注冊(cè)定時(shí)器超時(shí)時(shí)不執(zhí)行具體操作,具體操作由正在運(yùn)行的主控主盤在其注冊(cè)定時(shí)器超時(shí)后執(zhí)行。
[0034]呼叫信息包括正在參與語音業(yè)務(wù)的端口的所有Ca11 Leg (對(duì)話)的呼叫狀態(tài)、數(shù)圖及長短定時(shí)器匹配狀態(tài);所撥的號(hào)碼;摘掛機(jī)的狀態(tài);放音定時(shí)器等,例如,如果一個(gè)端口有三方業(yè)務(wù),則有兩個(gè)CallLeg(對(duì)話),就把這兩個(gè)對(duì)話的呼叫狀態(tài)、數(shù)圖及長短定時(shí)器匹配狀態(tài)、所撥的號(hào)、摘掛機(jī)的狀態(tài)、放音定時(shí)器等同步到主控備盤;如果同步到主控備盤的放音定時(shí)器此時(shí)不為0,則啟動(dòng)放音定時(shí)器,例如,如果一個(gè)端口在放回鈴音,已放了30秒,總長為60秒,則剩余30秒,同步后,則在備盤啟動(dòng)一個(gè)30秒的放音定時(shí)器,同注冊(cè)定時(shí)器一樣,超時(shí)后不執(zhí)行具體操作。
[0035]SIP協(xié)議棧關(guān)鍵信息包括主控主盤在對(duì)話的緩沖區(qū)以字符串形式保存的參與語音業(yè)務(wù)的端口發(fā)送或者接收的INVITE信令涉及到Cal ILeg(對(duì)話)的關(guān)鍵字段以及發(fā)送或者接收的180r ing涉及到對(duì)話的對(duì)話關(guān)鍵字段;
[0036]關(guān)鍵字段包括from、from-tag、to、to-tag、call-1d、via、branch-1d、contact等;from字段是指請(qǐng)求發(fā)起者的邏輯標(biāo)志;from-tag字段是指請(qǐng)求發(fā)起者的本地標(biāo)識(shí);to字段是指第一個(gè)并且也是最先指定請(qǐng)求的“邏輯”接收地;to-tag字段是指響應(yīng)者的本地標(biāo)識(shí);call-1d字段是區(qū)分一組消息的唯一標(biāo)志;via字段標(biāo)識(shí)了應(yīng)答送回的地址;branch-1d字段用于區(qū)分請(qǐng)求創(chuàng)建的事務(wù);contact字段包含了本端的聯(lián)系方式,通常由用戶名和一個(gè)主機(jī)的全名組成。對(duì)于SIP協(xié)議棧關(guān)鍵信息的關(guān)鍵字段主控備盤從數(shù)據(jù)庫中獲取,再生效到SIP協(xié)議棧,SIP協(xié)議棧根據(jù)這些關(guān)鍵字段創(chuàng)建和主控主盤相同的Cal I Leg (對(duì)話