使用Dialogic NetStructure SS7板卡使雙機箱系統(tǒng)具有容錯能力
 

[ page1 ] [ page2 ]

摘要
介紹
概念
 雙MTP3概念
 MTP上的狀態(tài)機
 雙電話操作(基于CIC)
 雙SCCP(子系統(tǒng)狀態(tài)維護(hù))
 雙TCAP操作
 TCAP 用戶(GSM-MAP、IS41-MAP、INAP)
設(shè)置
 MTP3的設(shè)置
 ISUP和TUP的設(shè)置
 SCCP的設(shè)置
 TCAP的設(shè)置
機箱間通信
容錯應(yīng)用
設(shè)置system.txt值
 主機協(xié)議實現(xiàn)的system.txt
 信令處理器板卡協(xié)議實現(xiàn)的system.txt

 

設(shè) 置

  Linux和Windows版本的Dialogic開發(fā)包V2.00支持雙機箱SS7系統(tǒng)的設(shè)置,并且提供了雙系統(tǒng)操作設(shè)置MTP、ISUP、TUP和NUP層的必要的命令和參數(shù)。SCCP、TCAP和TCAP-User層的設(shè)置與單系統(tǒng)(無容錯)的設(shè)置的實現(xiàn)方式相同。即:使用離散的消息,既可以將此功能嵌入用戶自己的程序也可以使用s7_play實體。

  在一個雙機箱系統(tǒng)中,為了設(shè)置的目的,兩個部分分開對待,每個部分都有獨立的設(shè)置文件。

  ◎ MTP3設(shè)置

  在一個雙MTP系統(tǒng)中,一個鏈路集內(nèi)的鏈路應(yīng)該在兩個系統(tǒng)間平均分配。兩部分的邏輯參考參數(shù)如link_id和linkset_id都應(yīng)該從0開始。系統(tǒng)的每部分的鏈路 和鏈路集都使用相同范圍的標(biāo)識符(標(biāo)記符/句柄)。

  需要使用一條額外的鏈路集來連接兩個MTP3平臺。使單節(jié)點編碼可以在兩個平臺間共享。與標(biāo)準(zhǔn)的SS7鏈路集的定義方式相同,使用MTP_LINKSET設(shè)置命令并且<local_pc>和<adjacent_pc>使用相同的值。(都設(shè)置為兩個平臺間共享的平臺編碼的值)。這個鏈路集需要將<flags>參數(shù)的第15比特設(shè)置為1,表明此鏈路集連接兩個使用相同節(jié)點編碼的MTP3協(xié)議。鏈路通過MTP_LINK命令添加到鏈路集。

  每一目標(biāo)路由都(包括相鄰的節(jié)點)應(yīng)該指明兩個鏈路集。.<primary_Is>是連接本地MTP到相鄰節(jié)點的鏈路集的標(biāo)識符。<secondary_Is>參數(shù)應(yīng)該用來表示連接共享一個本地節(jié)點編碼的兩個MTP3層的鏈路集。<options>參數(shù)應(yīng)該設(shè)為0x0001,表明第二個鏈路集已經(jīng)被指定,并且在到達(dá)目標(biāo)節(jié)點的原始路由不可用的情況下,只能使用這個鏈路集。

  所有其他的參數(shù)的含義都與用戶手冊中描述的單MTP設(shè)置中的參數(shù)相同。
  圖9和圖10中說明了兩個例子。

圖9:直接連接終端節(jié)點的MTP設(shè)置

  對于MTP A

  對于MTP B:

  注意,這些不包括任何設(shè)置或定義信令板卡的命令,應(yīng)該象定義標(biāo)準(zhǔn)的單系統(tǒng)一樣定義。MTP_ROUTE <up_enable>參數(shù)為ISUP設(shè)置,在上例中用戶部分SI=5。

圖10:連接到STP的MTP設(shè)置

  對于MTP A:

  

  對于 MTP B:

  

  連接兩個MTP3層的鏈路集應(yīng)該提供足夠的連接來提供足夠的信令寬度,允許一個MTP3的所有流量都可以通過第二個MTP3路由,設(shè)計者也應(yīng)該注意,為了每個MTP3可以傳送另一個MTP3的流量,系統(tǒng)的每一部分在正常工作情況下的負(fù)荷不應(yīng)超過50%(所有的處理和信令通道帶寬),SS7系統(tǒng)通常的最大負(fù)荷為20~40%。

  機箱之間的鏈路的激活方式必須同連接平臺和遠(yuǎn)端SS7節(jié)點的其他鏈路的激活方式相同?梢酝ㄟ^使用mtpsl實體或通過從應(yīng)用程序傳送MTP鏈路或鏈路集激活命令消息實現(xiàn)。

  ◎ ISUP和TUP的設(shè)置

  對于ISUP,其他ISUP協(xié)議(其他系統(tǒng)中)的module_id通過設(shè)置ISUP_CONFIG命令中的<partner_id>參數(shù)來指定。應(yīng)該設(shè)置ISUP_CONFIG的選項比特ISPF_DUAL ,表明ISUP應(yīng)該將從MTP3接收的任何未知電路實體的信息傳送到這個軟件任務(wù)。

  同樣地,對于TUP,TUP_CONFIG的<partner_id>應(yīng)該設(shè)置第為二個機箱中TUP模塊的module_id,并且設(shè)置TUPF_DUAL選項。

  通常情況下ISUP的任務(wù)標(biāo)識符設(shè)置為0x23。對于A方,發(fā)送未知電路的ISUP消息的任務(wù)的標(biāo)識符為0x73,對于B方為0x63。通常設(shè)置到TUP的任務(wù)標(biāo)識符為0x4a。對于發(fā)送未知電路的TUP消息的任務(wù),在A方標(biāo)識符為0x93,在B方標(biāo)識符為0x83。用戶應(yīng)該設(shè)置一個LOCAL任務(wù)將發(fā)送到這個任務(wù)的消息傳送到另一個平臺上的ISUP或TUP協(xié)議層。這可以簡單的通過使用RSI任務(wù)和REDIRECTION命令來實現(xiàn)。

  注意:在Dialogic NetStructure CPM8、SPCI2S或SPCI4板卡上運行IsUP和TUP。

  當(dāng)ISUP或TUP協(xié)議運行在Dialogic NetStructure SS7板卡上時,B方的SEPTEL_CP命令的參數(shù)l1_flags應(yīng)該設(shè)置比特9(0x0200)。

  下面例子說明了ISUP和TUP設(shè)置命令:
  Side A

  Side B

  兩個系統(tǒng)中的電路組既可以從0開始編號,也可以兩個系統(tǒng)間隔標(biāo)號。如果使用第一種方法,整個系統(tǒng)的容量就是單ISUP/TUP協(xié)議層系統(tǒng)的容量的2倍,如果使用第二種方法,系統(tǒng)總?cè)萘颗c單ISUP/TUP協(xié)議層系統(tǒng)的容量相同。對于這兩種情況,每半部分控制對立的CIC范圍,如圖11和12所示:

  系統(tǒng)兩部分之間沒有重復(fù)的電路組("單容量"系統(tǒng),如圖12所示)的系統(tǒng)在一部分故障的情況下能夠激活另一個沒有使用的電路組,這個過程可以使用xxx_MSG_CNF_GRP消息設(shè)置電路組來實現(xiàn)。這可以為另一單元中失效的電路提供SS7信令資源以及ISUP或TUP狀態(tài)機,但是,如果電路終端本身仍然同故障單元物理上相連,那么信令能夠為這些電路實現(xiàn)的唯一進(jìn)程是硬件阻塞。

  ◎ SCCP的設(shè)置

  在SCCP層,每一SCCP協(xié)議的設(shè)置都應(yīng)該使用相同的本地子系統(tǒng)、遠(yuǎn)端信令點和遠(yuǎn)端子系統(tǒng)數(shù)據(jù)。

  設(shè)置參數(shù)smb_id是在狀態(tài)更新時用來標(biāo)識目標(biāo)節(jié)點,并且應(yīng)該設(shè)置為一個任務(wù)的id。這個任務(wù)在雙系統(tǒng)中能夠?qū)⑿畔鬟f到其他SCCP模塊。在大多數(shù)環(huán)境下,SCCP使用0x33作為任務(wù)標(biāo)識符,并且smb_id在A方應(yīng)該設(shè)置為0x53,在B方應(yīng)該設(shè)置為0x43。可以使用文件system.txt中的一個REDIRECTION語句來將這些消息路由到RSI或相似的任務(wù)。這樣它們就可以傳遞到通過以太網(wǎng)連接的其他SCCP層。另外,SCCP smb_flags設(shè)置參數(shù)應(yīng)該設(shè)為0x001c。

  ◎ TCAP的設(shè)置

  在一個多TCAP的環(huán)境中,每一TCAP給定一個唯一的實例,它是在SCCP邊緣使用事務(wù)id編碼的,這樣可以為接收的消息快速解析正確的目標(biāo)TCAP。第一個TCAP實例值通常應(yīng)該為0,下一個為1。

  參數(shù)tid_ninst控制在事務(wù)id中使用多少比特對實例數(shù)據(jù)編碼。在一個雙系統(tǒng)中,1比特就可以區(qū)分兩個TCAP了。(注意tid_ndref必須足夠大,可以對最高的dialogue_id的值進(jìn)行編碼。在一個同時支持2048個對話的系統(tǒng)中,tid_ndref的值必須大于等于11)。

  兩個TCAP部分的邏輯dialogue_id的范圍可以相同(這樣運行在這兩個系統(tǒng)上的兩個應(yīng)用進(jìn)程都有相同的dialogue_id范圍),也可以使用不同的范圍。

機箱之間的通信

  容錯接口(RSI)軟件從它的輸入隊列中獲取具有目標(biāo)節(jié)點的消息,而不獲取RSI本身的消息,并且將這些消息發(fā)送給TCP/IP網(wǎng)絡(luò)遠(yuǎn)端的同等RSI任務(wù),通信采用TCP/IP套接字,一端作為服務(wù)器,另一端作為客戶端。

  在接收端,RSI獲取從以太網(wǎng)接收的消息,并且將它們通過本地消息傳輸系統(tǒng)傳遞到消息所標(biāo)識的任務(wù)中(幀頭dst字段)。如果兩個RSI任務(wù)通過以太網(wǎng)進(jìn)行的通信發(fā)生故障,傳遞到RSI通過以太網(wǎng)進(jìn)行發(fā)送的消息將被丟棄。

  系統(tǒng)中運行的兩個RSI任務(wù)(每半個系統(tǒng)一個)使用相同的唯一的模塊id,通常為0xb0。必須在兩個系統(tǒng)中的文件system.txt中進(jìn)行聲明,使用FORK_PROCESS命令開始。RSI程序?qū)⑵淠Kid作為可選的命令行參數(shù),前綴為'-m'。例如:
  ./rsi -m0xb0

  任何發(fā)送到使用模塊id指定的RSI的消息會被本地RSI若和任務(wù)處理,并且不會通過以太網(wǎng)傳輸。
  主機同每一個從機的RSI連接使用rsicmd工具激活,rsicmd工具的用法如下:
rsicmd <link_id> <conc_id> <link_type>
<rem_addr> <rem_port> [<rsi_id>]

  <link_id>是這個特殊通信通道的邏輯標(biāo)識符,RSI通過匹配消息實例值(由GCT_set_instance設(shè)置,缺省值為0)和link_id值來選擇輸出通道。對于大多數(shù)的雙系統(tǒng),兩個系統(tǒng)之間建立一條RSI連接就足夠了,因此這個參數(shù)應(yīng)該設(shè)為0。
<conc_id>指定一個模塊id,當(dāng)指定的RSI連接失效時,此模塊用來接收通知(一個消息)。這個參數(shù)的設(shè)置可以將這些指示傳遞給應(yīng)用程序任務(wù)或者一個管理事件查看程序。如s7_log等。
  <link_type>和<rem_addr>應(yīng)該依據(jù)下表進(jìn)行設(shè)置:

連接類型 Rem_addr Ink_type 值
服務(wù)器 B方的IP地址 0(客戶端)
客戶端 0 1(服務(wù)器)

  系統(tǒng)的一端需要設(shè)置為客戶端,另一端設(shè)置為服務(wù)器。
  <rem_port>指定了連接所使用的TCP/IP套接字端口號,每一RSI連接(應(yīng)該具有唯一的link_id)必須使用唯一的端口號,從9000開始。
  參數(shù)<rsi_id>是可選的,指定了傳送消息的RSI模塊。
  對于所有可以通過RSI連接訪問的目標(biāo)節(jié)點,文件system.txt文件中必須插入一條REDIRECT語句(第二個ISUP、SCCP、和/或TCAP協(xié)議的module_id)。
  例如,一個雙ISUP系統(tǒng)應(yīng)該由兩個ISUP部分組成,每個缺省module_id都為0x23。A方ISUP的設(shè)置數(shù)據(jù)表示另一個ISUP部分的module_id為0x73。因此,在A方將會有一個重定向的動作來對經(jīng)過RSI發(fā)送往0x73的任何消息重新定向,在B方,應(yīng)該有一個REDIRECT語句將B方RSI所接收的所有目標(biāo)為0x73的消息路由到本地ISUP。標(biāo)識為0x23。如圖13所示。

圖13:ISUP之間通信重采用REDIRECT語句



圖14:帶有SSD的REDIRECT的使用

  運行在信令卡上的協(xié)議模塊,接收端(對方)的REDIRECT語句應(yīng)該通過ssd或ssd的驅(qū)動(通常情況下使用module_id為0x20)來對消息進(jìn)行重定向,如圖14所示。
  下表給出了系統(tǒng)雙方都應(yīng)該使用的module_id值:

對于容錯應(yīng)用考慮

  在一個SS7接口和應(yīng)用程序嵌入的雙系統(tǒng)中,應(yīng)用程序故障或者SS7部分的故障將導(dǎo)致整個系統(tǒng)全部或部分故障。

  在一個雙電路交換應(yīng)用(使用ISUP或TUP)中,物理電路終端分布在組成系統(tǒng)的兩個機箱中,因此如果系統(tǒng)的一部分發(fā)生故障,將導(dǎo)致一部分電路的物理故障。在SS7終端,硬件故障通常由硬件旁路處理(也稱為硬件隔離)。這樣所有受這部分硬件影響的激活的呼叫都會被拆除,表示這些電路不能被呼叫選擇使用,直到硬件隔離解除,如果電路故障恢復(fù),則硬件隔離會被解除。

  但是,在前面所述的設(shè)置中,系統(tǒng)繼續(xù)工作的部分對于故障電路一無所知(這部分設(shè)置數(shù)據(jù)應(yīng)該保存在故障的部分中),因此不能傳遞硬件隔離故障。解決這個問題的一個辦法就是使用電路組設(shè)置方法,這樣可以為另一部分的電路組保留空間,當(dāng)一個電路組發(fā)生故障時,這些備份的電路組可以由繼續(xù)工作的部分進(jìn)行設(shè)置,允許對物理上連接的另一部分傳遞硬件隔離命令。

  也可以采用物理上隔離應(yīng)用程序媒介/電路處理和SS7協(xié)議狀態(tài)信息,使兩個應(yīng)用程序可以使用兩個SS7接口進(jìn)行通信(SIU采用這種方法)。物理隔離可以采用RSI和以太網(wǎng)實現(xiàn)。

  如果需要,應(yīng)用程序可以通過節(jié)點間互相檢查來檢測故障,使用基于消息的API和RSI/以太網(wǎng)進(jìn)行通信。一個用戶指定的信息必須為這個目的定義。

  在一個雙TCAP系統(tǒng)中,系統(tǒng)的一部分故障會導(dǎo)致TCAP狀態(tài)信息的丟失(例如,事務(wù)狀態(tài)和事務(wù)掛起的存儲部件)。在一個智能網(wǎng)絡(luò)環(huán)境中,如果可能,此事務(wù)相關(guān)的呼叫將被拆除。在移動/無線環(huán)境中,任何相關(guān)的掛起的移動業(yè)務(wù)(例如短消息)都可能超時。這些操作在系統(tǒng)繼續(xù)工作的部分中應(yīng)該再次執(zhí)行。

  同SS7協(xié)議通信的應(yīng)用程序必須在邏輯電路id和每個SS7設(shè)置的會話id范圍能工作。系統(tǒng)的兩部分既可以使用相同范圍值,這些值只在每部分內(nèi)部使用,也可以在不同的范圍內(nèi)運行。

設(shè)置System.txt值

  下圖中描述了一個雙ISUP/TUP/SCCP/TCAP系統(tǒng)中各模塊之間的關(guān)系,以及系統(tǒng)兩部分的config.txt文件中的條目。參見圖15。

圖15:雙SS7協(xié)議系統(tǒng)中的模塊

  ◎ 主機協(xié)議的System.txt

  A方

  

  B方

  

  system.txt文件必須也包括主機上運行的所有本地SS7協(xié)議(如ISUP、TUP、SCCP或TCAP)的LOCAL定義和應(yīng)用程序任務(wù)、設(shè)置功能(如s7_mgt)和調(diào)試工具的LOCAL定義。這里也應(yīng)該通過FORK_PROCESS語句來啟動相應(yīng)的驅(qū)動和任務(wù),在相應(yīng)的語法手冊中有詳細(xì)描述。

  ◎ 運行在信令處理器板卡上的System.txt

  A方

  

  B方

  

  system.txt文件也必須包括所有應(yīng)用程序任務(wù)、設(shè)置工具(如s7_mgt)和調(diào)試工具的LOCAL定義。這里也應(yīng)該通過FORK_PROCESS語句來啟動相應(yīng)的驅(qū)動和任務(wù),在相應(yīng)的語法手冊中有詳細(xì)描述。

  附錄A-TCAP Set 例程模塊ID消息
  描述:
  這個消息為一個指定的TCAP實例設(shè)置module_id,當(dāng)發(fā)送任何來自網(wǎng)絡(luò)上的帶有事務(wù)id中指定實例的消息時,TCAP使用這個module_id作為目標(biāo)節(jié)點。
  消息格式:

  參數(shù)描述:
  Instance
  應(yīng)該從指定module_id發(fā)送的任何接收的消息中事務(wù)ID中設(shè)置的實例值
module_id
  對于指定實例,TCAP發(fā)送消息的目標(biāo)的module_id。

 

進(jìn)一步了解信息,訪問我們網(wǎng)站http://www.Dialogic.com/

[ 全文英文版 ]

 

[ page1 ] [ page2 ]


融合通信專欄>>技術(shù)開發(fā)>>