摘要:中國聯(lián)通公司短消息網(wǎng)關(guān)系統(tǒng)接口協(xié)議是SGIP協(xié)議,詳細(xì)闡述SGIP協(xié)議的框架、流程及其在華為在信網(wǎng)關(guān)中的應(yīng)用。
關(guān)鍵詞:SGIP 通信 華為在信網(wǎng)關(guān) 應(yīng)用
1 概論
SGIP(Short Message Gateway Interface Protocol),是SMG和SP之間、SMG和GNS之間、以及SMG和SMG之間的接口協(xié)議。通過應(yīng)用SGIP協(xié)議,SP可以接入到SMG,實(shí)現(xiàn)SP應(yīng)用的一點(diǎn)接入、全網(wǎng)服務(wù);SMG可以通過SGIP協(xié)議,實(shí)現(xiàn)消息在不同SMG之間的路由和轉(zhuǎn)發(fā)。SGIP有兩種具體實(shí)現(xiàn)方式,一種是采用專用SGIP方式,另一種是采用通用HTTP方式。SMG和SMG之間采用專用SGIP方式作為承載協(xié)議;而SP和SMG的通信同時(shí)支持專用SGIP方式和通用HTTP方式兩種承載協(xié)議。根據(jù)現(xiàn)狀,本文僅討論第一種方式。
2 SGIP協(xié)議的通信流程
采用專用SGIP方式承載時(shí),通信雙方互為客戶端和服務(wù)器端。當(dāng)客戶端要發(fā)送命令時(shí),主動(dòng)向服務(wù)器端建立連接,然后向服務(wù)器端發(fā)送命令,并接收應(yīng)答;服務(wù)器端從客戶端接收命令,返回應(yīng)答。連接建立以后,客戶端可以連續(xù)發(fā)送多條命令,命令發(fā)送完并接收到所有應(yīng)答后,客戶端應(yīng)該主動(dòng)斷開連接。如果需要,客戶端可以同時(shí)向一個(gè)服務(wù)器端建立多個(gè)連接(SMG與單個(gè)其他SMG最多不能建立超過15個(gè)連接,對與之相連的單個(gè)SP的最大連接數(shù)視具體情況而定)。采用專用SGIP承載方式時(shí),SMG和SMG、SP和SMG之間使用的端口號是8801,SMG之間的測試用端口號為8810。因?yàn)閮蓚€(gè)SMG之間的通信和SP和SMG之間的通信方式相同,因此下文描述為SP到SMG之間的通信過程。
2.1 通信初始化 客戶端有命令要向服務(wù)器端發(fā)送時(shí),由客戶端首先通過Bind命令向服務(wù)器端發(fā)起連接。服務(wù)器端根據(jù)Bind命令之中的登錄名和密碼,對客戶端的合法性進(jìn)行驗(yàn)證,然后返回一條Bind_Resp應(yīng)答給客戶端。如果驗(yàn)證通過,則客戶端和服務(wù)器端的通信開始,否則中斷連接。
2.2 通信過程 SP與SMG之間發(fā)送的任何一條命令都帶有一個(gè)序列號,序列號由命令源產(chǎn)生。
客戶端與服務(wù)器端通信開始以后,客戶端可以向服務(wù)器端發(fā)送相應(yīng)的命令,服務(wù)器端對收到的命令返回應(yīng)答。
命令在SP和SMSC之間的傳輸是采用類似接力的方式,每條命令和對應(yīng)的應(yīng)答僅僅表示該次命令發(fā)送的結(jié)果是否正確。比如,SP向某一個(gè)手機(jī)發(fā)送一條短消息,是通過向本地SMG發(fā)送一條Submit命令實(shí)現(xiàn)的,隨后,SP會(huì)從SMG接收到一條Submit_Resp應(yīng)答。但是,即使應(yīng)答表示Submit命令已正確接收,也不表示Submit命令內(nèi)的短消息已經(jīng)發(fā)送到手機(jī)上了,而僅僅表示該短消息已經(jīng)傳送到SMG,SMG將會(huì)作下一步處理,或者發(fā)送給SMSC,或者路由到另外的SMG,最終由目的SMSC發(fā)送到手機(jī)上。這中間任何一個(gè)環(huán)節(jié)出現(xiàn)錯(cuò)誤,系統(tǒng)會(huì)終止信息的繼續(xù)發(fā)送,并且通過向原SP發(fā)送Report命令告訴發(fā)送出錯(cuò)的原因(如果SP指定要求反饋的話)。
2.3 通信結(jié)束 如果客戶端認(rèn)為和服務(wù)器端的通信已結(jié)束,則客戶端應(yīng)該向服務(wù)器端發(fā)送Unbind命令,服務(wù)器端隨后返回Unbind_Resp應(yīng)答,然后雙方斷開連接。
2.4 故障處理
發(fā)生故障時(shí),SP、SMG應(yīng)通過Report命令和其它相關(guān)命令的應(yīng)答相結(jié)合返回故障原因;如果MO不成功,該用戶所屬的SMG還應(yīng)向用戶終端返回友好的應(yīng)答信息說明不成功原因。
3 關(guān)于SMG的概述及具體功能
聯(lián)通在信網(wǎng)關(guān)SMG在中國聯(lián)通短消息業(yè)務(wù)網(wǎng)絡(luò)中起到核心的作用。通過SMG為SP接入中國聯(lián)通短消息業(yè)務(wù)網(wǎng)絡(luò)提供了一個(gè)具有全網(wǎng)互連功能的接入平臺,為SP開展短消息業(yè)務(wù)提供了承載功能,借助這個(gè)通道,SP可以向手機(jī)用戶提供短消息增值服務(wù)。SMG提供的功能有:協(xié)議轉(zhuǎn)換、存儲(chǔ)轉(zhuǎn)發(fā)、SP接入、安全鑒權(quán)、業(yè)務(wù)處理、計(jì)費(fèi)、網(wǎng)管接口功能等。
全國可以有多個(gè)SMG網(wǎng)關(guān),SMG網(wǎng)關(guān)之間通過互聯(lián)網(wǎng)等方式實(shí)現(xiàn)網(wǎng)絡(luò)互聯(lián)。每一個(gè)SMG同時(shí)與多個(gè)SMSC以及多個(gè)SP連接。全網(wǎng)具有唯一有效的GNS,GNS負(fù)責(zé)全局路由表的維護(hù)與更新;為了確保路由表存儲(chǔ)的安全性,網(wǎng)絡(luò)中設(shè)置主備用GNS,兩個(gè)GNS要保持一致性。每一個(gè)SMG都和GNS連接。SMG與SP、SMG與GNS以及SMG與SMG之間的通信協(xié)議為SGIP協(xié)議。SMG與SMSC之間的通信統(tǒng)一采用SMPP3.3協(xié)議。
河北聯(lián)通的SMG有兩個(gè),一個(gè)為傲天在信網(wǎng)關(guān),承擔(dān)全網(wǎng)sp業(yè)務(wù),一個(gè)是華為在信網(wǎng)關(guān),承擔(dān)本地sp業(yè)務(wù),下文將對華為在信網(wǎng)關(guān)的組網(wǎng)圖、硬件組成、功能結(jié)構(gòu)及基于SGIP協(xié)議的相關(guān)應(yīng)用進(jìn)行闡述,文中的在信網(wǎng)關(guān)均指華為在信網(wǎng)關(guān)。
4 基于SGIP協(xié)議的華為在信網(wǎng)關(guān)。
4.1 華為在信網(wǎng)關(guān)拓?fù)鋱D
4.2 在信網(wǎng)關(guān)與SP接口 根據(jù)規(guī)范要求,SP業(yè)務(wù)不允許直連接入短信中心,而必須通過SGIP協(xié)議與在信網(wǎng)關(guān)相連,負(fù)責(zé)向用戶提供定制、點(diǎn)播等增值應(yīng)用。業(yè)務(wù)路由:本地用戶-短信中心-在信網(wǎng)關(guān)-業(yè)務(wù)合作伙伴平臺(SP)。
4.3 在信網(wǎng)關(guān)的硬件組成 在信網(wǎng)關(guān)系統(tǒng)所有核心服務(wù)器均采用華為自產(chǎn)的ATAE單板,由ATAE 模塊實(shí)現(xiàn)系統(tǒng)內(nèi)各服務(wù),利用一臺HP DL380作為USM 服務(wù)器,實(shí)現(xiàn)對ATAE 的計(jì)算資源、存儲(chǔ)資源、網(wǎng)絡(luò)處理資源、信令處理資源、接口資源的集中管理。服務(wù)器模塊、磁盤陣列等硬件均通過ATRE 交換板模塊實(shí)現(xiàn)網(wǎng)絡(luò)互通,并通過以太網(wǎng)交換機(jī)與其他相關(guān)系統(tǒng)(包括營帳、短信中心、VAC等)相連。
4.4 在信網(wǎng)關(guān)功能模塊 在信網(wǎng)關(guān)系統(tǒng)主要包括:短消息實(shí)體接口管理模塊、事物調(diào)度管理模塊和業(yè)務(wù)邏輯處理模塊等主要功能模塊。
4.4.1 接口管理模塊 提供標(biāo)準(zhǔn)的SMPP 協(xié)議、SGIP 協(xié)議同短消息中心、ICP、信息點(diǎn)播系統(tǒng)等短消息實(shí)體系統(tǒng)連接,實(shí)現(xiàn)業(yè)務(wù)處理單元同移動(dòng)臺之間的短消息傳輸通道,以完成短消息業(yè)務(wù)請求和業(yè)務(wù)請求結(jié)果的交互網(wǎng)關(guān)功能。
4.4.2 事物調(diào)度管理模塊 是網(wǎng)關(guān)平臺的核心模塊,通過對各業(yè)務(wù)的特點(diǎn)抽象分析的基礎(chǔ)上,通過對業(yè)務(wù)接口的管理和業(yè)務(wù)接入路由的方式進(jìn)行業(yè)務(wù)集中管理,各業(yè)務(wù)服務(wù)模塊通過網(wǎng)絡(luò)通訊方式通過業(yè)務(wù)支撐層的接口協(xié)議接入,對各端口的短消息流提供標(biāo)準(zhǔn)SMPP、SGIP協(xié)議接入、分發(fā)、調(diào)度等交互功能。
4.4.3 業(yè)務(wù)邏輯處理模塊 業(yè)務(wù)邏輯處理單元均以模塊疊加的方式接入系統(tǒng)中,在新的業(yè)務(wù)疊加時(shí),已有業(yè)務(wù)處理單元和系統(tǒng)均能穩(wěn)定平滑運(yùn)行,業(yè)務(wù)疊加能力強(qiáng)。
4.5 SP與在信網(wǎng)關(guān)實(shí)現(xiàn)接入的具體應(yīng)用
4.5.1 相關(guān)賬號和接口配置 在信網(wǎng)關(guān)接入SP,通信雙方互為客戶端和服務(wù)器端,需要建立兩個(gè)賬號和一個(gè)接口。以14001(分配給某SP的企業(yè)代碼)為例,圖中左邊顯示的“14001”代表SP連在信網(wǎng)關(guān)的賬號;“14001_S”代表在信網(wǎng)關(guān)連SP的賬號。在信網(wǎng)關(guān)需要告知SP的信息有:連接網(wǎng)關(guān)的賬號、密碼、網(wǎng)關(guān)IP和端口,根據(jù)規(guī)范要求對以上各項(xiàng)進(jìn)行驗(yàn)證。
賬號下面的字串代表在信網(wǎng)關(guān)連SP的接口,其中對端IP地址、對端端口號、登錄賬號和登錄密碼均由SP提供。配置界面如下圖所示:
4.5.2 在信網(wǎng)關(guān)與SP對調(diào)時(shí)的重要工具—協(xié)議跟蹤 在信網(wǎng)關(guān)的主要工作除了制作路由賬號數(shù)據(jù)外,最常見的就是經(jīng)常配合新接入的SP進(jìn)行業(yè)務(wù)調(diào)測。首先我們要跟SP核對雙方互聯(lián)的賬號、密碼、IP地址和端口這些基本信息,排除以上原因后,就需要啟用“協(xié)議跟蹤”這一重要工具來幫助我們分析解決問題。
協(xié)議跟蹤功能中分為全流程跟蹤、跟蹤當(dāng)前賬號、跟蹤當(dāng)前接口等類目,我們要根據(jù)具體情況采用不同的跟蹤類目,最常用的就是賬號跟蹤和全流程跟蹤。下圖顯示的即為協(xié)議跟蹤界面:SP提供一個(gè)測試手機(jī)號碼,我們配置后啟動(dòng)全流程跟蹤,通過跟蹤到的結(jié)果,依據(jù)SGIP協(xié)議中的具體格式要求,去分析判斷,從而找出問題。
從以往的維護(hù)經(jīng)驗(yàn)來看,SP申訴的問題,比如不能正常下發(fā)短信、手機(jī)用戶不能正,常訂購點(diǎn)播業(yè)務(wù)均是由于SP未能深入學(xué)習(xí)理解SGIP協(xié)議,將發(fā)送過來的消息某些字段不填或者填寫有誤,從而導(dǎo)致被鑒權(quán)中心VAC或者在信網(wǎng)關(guān)拒絕掉,影響業(yè)務(wù)使用。
5 結(jié)束語
“聯(lián)通在信”是中國聯(lián)通的一項(xiàng)無線數(shù)據(jù)業(yè)務(wù),該業(yè)務(wù)可以讓聯(lián)通手機(jī)用戶借助于手機(jī)短信訂閱和點(diǎn)播,從而隨時(shí)隨地享受生活、資訊、商務(wù)、娛樂等信息,成為手中流動(dòng)的信息源,學(xué)習(xí)、工作、生活的好幫手。
為了向用戶提供了豐富多彩的信息資訊,河北聯(lián)通公司同眾多領(lǐng)域的SP進(jìn)行了廣泛的合作,目前接入華為在信網(wǎng)關(guān)的SP已經(jīng)有200多家。在信業(yè)務(wù)的繁榮發(fā)展對于在信網(wǎng)關(guān)的維護(hù)人員尤其是為SP方提供程序接入的技術(shù)人員提出了更高的要求,那就是深入學(xué)習(xí)、理解SGIP協(xié)議的架構(gòu)。只有在充分掌握了SGIP協(xié)議精髓的前提下,才能更加順利、高效地完成與網(wǎng)關(guān)的對接工作,才能根據(jù)實(shí)際的應(yīng)用需要,兼顧安全和效率,開發(fā)出穩(wěn)定高效的短信應(yīng)用系統(tǒng)。