IMS與PSTN互通中SIP與ISUP之間轉(zhuǎn)換的設(shè)計
摘要:文章探討了在3GPP IMS與PSTN互通的過程中SIP與ISUP兩種不同的協(xié)議數(shù)據(jù)單元之間的轉(zhuǎn)換問題。提出了實現(xiàn)轉(zhuǎn)換的機(jī)制,定義了兩種不同的協(xié)議數(shù)據(jù)結(jié)構(gòu),重點(diǎn)研究基于ISUP數(shù)據(jù)單元格式兩種協(xié)議數(shù)據(jù)的轉(zhuǎn)換方法,并給出了具體的流程圖,實現(xiàn)了相互的轉(zhuǎn)換。
關(guān)鍵詞:互通;SIP;ISUP;轉(zhuǎn)換
0 引言
由于IMS系統(tǒng)主要是基于IP的多媒體子系統(tǒng),其在應(yīng)用層使用的會話協(xié)議是SIP協(xié)議,而CS/PSTN主要是傳統(tǒng)的電路交換網(wǎng)絡(luò),其典型的會話協(xié)議是ISUP協(xié)議。所以二者之間的互通必須進(jìn)行一個地址信令的轉(zhuǎn)換映射,這一功能主要是由MGCF來完成的。無論是對于IMS網(wǎng)絡(luò)還是CS/PSTN網(wǎng)絡(luò),MGCF都有相應(yīng)的邏輯接口,并且實現(xiàn)相應(yīng)的映射過程。因此,對于無論是由IMS發(fā)起的呼叫,還是CS/PSTN發(fā)起的呼叫,由于有了MGCF,都能使呼叫順利地進(jìn)行下去。
1 SIP與ISUP轉(zhuǎn)換的機(jī)制
SIP和ISUP信令之間的映射是基于收到的消息類型,通過對消息類型的理解,可以做出相應(yīng)的處理并維護(hù)或轉(zhuǎn)移當(dāng)前的呼叫狀態(tài)。在這里可以用有限狀態(tài)機(jī)FSM(Finite State Machine)去描述當(dāng)前呼叫狀態(tài)以及信令的映射關(guān)系。
在任何一個狀態(tài),MGCF會根據(jù)到達(dá)的事件執(zhí)行特定的操作,這里的事件主要指信令消息和定時器的超時消息,根據(jù)操作結(jié)果進(jìn)行狀態(tài)轉(zhuǎn)移。對于一個非法的消息,它保持當(dāng)前的狀態(tài)不變,并且返回一個失敗消息。
定義FSM的狀態(tài)單元的數(shù)據(jù)結(jié)構(gòu)如下:
由不同的狀態(tài)單元組成了狀態(tài)鏈表,根據(jù)當(dāng)前狀態(tài)以及收到的事件類型,查找狀態(tài)鏈表,就能得到相應(yīng)的處理,作出響應(yīng)。
2 SIP與ISUP轉(zhuǎn)換的實現(xiàn)過程
在互通的過程中,SIP消息和ISUP消息在一定的映射規(guī)則下要進(jìn)行轉(zhuǎn)換,因此這兩個消息的格式定義非常重要。首先定義SIP消息的數(shù)據(jù)結(jié)構(gòu):
當(dāng)MGCF收到消息時,先查找互通FSM,根據(jù)當(dāng)前的狀態(tài)以及收到的事件,通過FSM得到相應(yīng)的處理方法。如果僅僅是對收到消息的同側(cè)做出響應(yīng),則不涉及轉(zhuǎn)換過程,直接做出處理:但是如果要對互通的另一側(cè)發(fā)出消息,則必須調(diào)用轉(zhuǎn)換過程。
由于在查找FSM的時候,已經(jīng)得知了對應(yīng)于當(dāng)前收到的事件的處理方法,也就知道了SIP消息映射到哪一個ISUP消息,所以,在轉(zhuǎn)換過程中最主要的就是處理如何在兩個消息的參數(shù)之間進(jìn)行轉(zhuǎn)換。
在具體的轉(zhuǎn)換過程的設(shè)計上,如果是SIP到ISUP消息的轉(zhuǎn)換,由于ISUP消息中要求各參數(shù)必須按照一定的順序排列,所以必須根據(jù)具體的ISUP消息對應(yīng)的參數(shù)表的參數(shù)順序,參照映射規(guī)則,提取SIP消息中相應(yīng)的字段進(jìn)行翻譯轉(zhuǎn)換得到各參數(shù)。如果SIP消息中存在MIME消息體,還需查找該消息體,轉(zhuǎn)換其中特有的ISUP信息而SIP消息沒有對應(yīng)的信息描述。如果對于必備的參數(shù),不存在相應(yīng)字段,需要參照本地策略填入默認(rèn)值:相反,如果是將ISUP消息翻譯到SIP消息,相對比較簡單,直接將ISUP消息中包含的相應(yīng)的字段根據(jù)映射規(guī)則轉(zhuǎn)換到SIP消息的對應(yīng)字段。如果沒有對應(yīng)字段的,就封裝到MIME消息體中。
評論