中國聯合通信公司短消息網關系統接口協議_第1頁
中國聯合通信公司短消息網關系統接口協議_第2頁
中國聯合通信公司短消息網關系統接口協議_第3頁
中國聯合通信公司短消息網關系統接口協議_第4頁
中國聯合通信公司短消息網關系統接口協議_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、56/65中國聯合通信公司短消息網關系統接口協議(SGIP) 版本1.2 中國聯合通信公司二零零一年十月目錄 TOC o 1-4 1概述 PAGEREF _Toc527259238 h 11.1協議講明 PAGEREF _Toc527259239 h 11.2適用范圍 PAGEREF _Toc527259240 h 11.3參考資料 PAGEREF _Toc527259241 h 11.4術語表 PAGEREF _Toc527259242 h 12系統體系結構 PAGEREF _Toc527259243 h 32.1消息從本地SMSC到本地SP PAGEREF _Toc527259244 h

2、42.2消息從本地SP到本地SMSC PAGEREF _Toc527259245 h 42.3消息從本地SMSC到異地SP PAGEREF _Toc527259246 h 42.4消息從本地SP到異地SMSC PAGEREF _Toc527259247 h 42.5路由選擇 PAGEREF _Toc527259248 h 43通信流程 PAGEREF _Toc527259249 h 63.1專用SGIP方式 PAGEREF _Toc527259250 h 63.2通用HTTP方式 PAGEREF _Toc527259251 h 63.3通信節(jié)點編號規(guī)則 PAGEREF _Toc52725925

3、2 h 73.4序列號的定義 PAGEREF _Toc527259253 h 73.5通信的安全性 PAGEREF _Toc527259254 h 83.6用戶鑒權 PAGEREF _Toc527259255 h 83.6.1被叫方付費 PAGEREF _Toc527259256 h 83.6.2SP付費 PAGEREF _Toc527259257 h 83.6.3第三方付費 PAGEREF _Toc527259258 h 83.7 SP與SMG的通信 PAGEREF _Toc527259259 h 93.7.1通用HTTP方式 PAGEREF _Toc527259260 h 從SP到SMG的

4、命令 PAGEREF _Toc527259261 h 從SMG到SP的命令 PAGEREF _Toc527259262 h 103.7.2專用SGIP方式 PAGEREF _Toc527259263 h 通信初始化 PAGEREF _Toc527259264 h 通信過程 PAGEREF _Toc527259265 h 通信結束 PAGEREF _Toc527259266 h 故障處理 PAGEREF _Toc527259267 h 從SP到SMG的消息 PAGEREF _Toc527259268 h 從SMG到SP的消息 PAGEREF _Toc527259269 h 133.8 SMG與S

5、MG之間的通信 PAGEREF _Toc527259270 h 133.8.1通信初始化 PAGEREF _Toc527259271 h 143.8.2通信過程 PAGEREF _Toc527259272 h 143.8.3通信結束 PAGEREF _Toc527259273 h 143.8.4故障處理 PAGEREF _Toc527259274 h 143.8.5兩個SMG之間的消息 PAGEREF _Toc527259275 h 153.9 SMG與GNS之間的通信 PAGEREF _Toc527259276 h 153.9.1通信初始化 PAGEREF _Toc527259277 h 1

6、53.9.2通信過程 PAGEREF _Toc527259278 h 153.9.3通信結束 PAGEREF _Toc527259279 h 163.9.4故障處理 PAGEREF _Toc527259280 h 163.9.5從SMG到GNS的消息 PAGEREF _Toc527259281 h 163.9.6從GNS到SMG的消息 PAGEREF _Toc527259282 h 164消息定義 PAGEREF _Toc527259283 h 184.1基于通用HTTP的消息定義 PAGEREF _Toc527259284 h 184.1.1Submit操作 PAGEREF _Toc5272

7、59285 h Submit命令的請求內容 PAGEREF _Toc527259286 h Submit命令的應答內容 PAGEREF _Toc527259287 h 194.1.2Deliver操作 PAGEREF _Toc527259288 h Deliver命令的請求內容 PAGEREF _Toc527259289 h Deliver命令的應答內容 PAGEREF _Toc527259290 h 204.1.3Report操作 PAGEREF _Toc527259291 h Report命令的請求內容 PAGEREF _Toc527259292 h Report命令的應答內容 PAGER

8、EF _Toc527259293 h 214.1.4UserRpt操作 PAGEREF _Toc527259294 h UserRpt命令的請求內容 PAGEREF _Toc527259295 h UserRpt命令的應答內容 PAGEREF _Toc527259296 h 224.1.5Trace操作 PAGEREF _Toc527259297 h Trace命令的請求內容 PAGEREF _Toc527259298 h Trace命令的應答內容 PAGEREF _Toc527259299 h 234.2基于專用SGIP的消息定義 PAGEREF _Toc527259300 h 234.2.

9、1數據類型 PAGEREF _Toc527259301 h 234.2.2消息頭的格式 PAGEREF _Toc527259302 h 244.2.3消息體的格式 PAGEREF _Toc527259303 h Bind操作 PAGEREF _Toc527259304 h Unbind操作 PAGEREF _Toc527259305 h Submit操作 PAGEREF _Toc527259306 h Deliver操作 PAGEREF _Toc527259307 h 2Report操作 PAGEREF _Toc527259308 h 2AddSP操作 PAGEREF _Toc52725930

10、9 h 2ModifySP操作 PAGEREF _Toc527259310 h 2DeleteSP操作 PAGEREF _Toc527259311 h 30QueryRoute操作 PAGEREF _Toc527259312 h 300AddTeleSeg操作 PAGEREF _Toc527259313 h 31ModifyTeleSeg操作 PAGEREF _Toc527259314 h 32DeleteTeleSeg操作 PAGEREF _Toc527259315 h 33AddSMG操作 PAGEREF _Toc527259316 h 34ModifySMG操作 PAGEREF _Toc

11、527259317 h 35DeleteSMG操作 PAGEREF _Toc527259318 h 344.3鑒權消息定義 PAGEREF _Toc527259319 h 354.3.1CheckUser命令的語法 PAGEREF _Toc527259320 h 354.3.2CheckUser_Resp應答的語法 PAGEREF _Toc527259321 h 354.3.3UserRpt命令的語法 PAGEREF _Toc527259322 h 354.3.4UserRpt_Resp應答的語法 PAGEREF _Toc527259323 h 354.4測試消息定義 PAGEREF _Toc

12、527259324 h 364.4.1Trace命令的語法 PAGEREF _Toc527259325 h 364.4.2Trace_Resp應答的語法 PAGEREF _Toc527259326 h 365常量定義 PAGEREF _Toc527259327 h 375.1消息ID定義 PAGEREF _Toc527259328 h 375.2錯誤碼定義 PAGEREF _Toc527259329 h 375.3計費類不定義 PAGEREF _Toc527259330 h 385.4Report 狀態(tài)與短消息狀態(tài)的映射 PAGEREF _Toc527259331 h 38附錄1: 全網路由表

13、的格式示范 PAGEREF _Toc527259332 h 39附錄2: 本地路由表的格式示范 PAGEREF _Toc527259333 h 40附錄3: HTTP承載方式示范 PAGEREF _Toc527259334 h 41 TOC o 1-4 h z 1概述1.1協議講明本協議是SMG和SP之間、SMG和GNS之間、以及SMG和SMG之間的接口協議,簡稱SGIP。通過應用SGIP協議,SP能夠接入到SMG,實現SP應用的一點接入、全網服務;SMG能夠通過SGIP協議,實現消息在不同SMG之間的路由和轉發(fā)。同時,SMG通過該協議也能夠和GNS通信,以實現各SMG和GNS之間路由表的同步

14、功能。1.2適用范圍本協議適用于各SP廠商和SMG的開發(fā)廠商。1.3參考資料1SMPP3.32GSM 3.403GSM 3.384HTTP1.0 1.4術語表本協議用到以下術語:GNSGateway Name Server,負責系統路由的治理和同步MO由手機用戶提交的短消息MT由手機用戶接收的短消息SGIPShort Message Gateway Interface Protocol,本協議所描述的短消息網關接口協議,用于完成在SMG和SP之間、SMG和SMG之間短消息的發(fā)送、接收和轉發(fā)功能,以及SMG和GNS之間路由表的同步功能SMGShort Message Gateway ,聯通公司的

15、短消息網關,SMG之間的通訊協議采納SGIPSMPPShort Message Peer to Peer,短消息點對點協議,采納3.3版本SMSCShort Message Service Center ,短消息中心SPService Provider,服務提供商2系統體系結構SMG是具有短消息轉發(fā)功能的短消息網關。全國能夠有多個SMG網關,SMG網關之間通過互聯網等方式實現網絡互聯。每一個SMG同時與多個SMSC以及多個SP連接。全網具有唯一有效的GNS,GNS負責全局路由表的維護與更新;為了確保路由表存儲的安全性,網絡中設置主備用GNS,兩個GNS要保持一致性。每一個SMG都和GNS連接。

16、SMG與SP、SMG與GNS以及SMG與SMG之間的通信協議為SGIP協議。SMG與SMSC之間的通信統一采納SMPP3.3協議。圖2-1講明了系統的體系結構。圖2-1 SMG的體系結構和SMG平臺之間相連的SMSC稱作本地SMSC,和異地SMG平臺相連的SMSC稱作異地SMSC。和SMG平臺之間相連的SP稱作本地SP,和異地SMG平臺相連的SP稱作異地SP。從本地SMSC向本地SP以及從本地SP向本地SMSC發(fā)送的消息直接由SMG轉發(fā);從本地SMSC向異地SP以及從本地SP向異地SMSC發(fā)送的消息由本地SMG路由到異地SMG后,再由異地SMG轉發(fā)。2.1消息從本地SMSC到本地SPSMG從S

17、MSC接收到短消息,直接發(fā)給SP。比如SMSC1ASMG1SP1YSMSC1BSMG1SP1X2.2消息從本地SP到本地SMSCSMG從SP接收短消息,直接發(fā)給SMSC。比如SP1XSMG1SMSC1ASP1YSMG1SMSC1B2.3消息從本地SMSC到異地SPSMG從本地SMSC接收短消息,再路由到異地SMG,由異地的SMG發(fā)送到目的SP,比如SMSC1ASMG1SMG2SP2YSMSC1BSMG1SMG3SP3X2.4消息從本地SP到異地SMSCSMG從本地SP接收短消息,再路由到異地SMG,由異地的SMG發(fā)送到目的SMSC,比如SP1XSMG1SMG2SMSC2ASP1YSMG1SMG

18、3SMSC3B2.5路由選擇當消息在本地SMSC和異地SP,或者在本地SP和異地SMSC之間傳輸時,發(fā)送方必須要獵取消息接收方的位置信息。這部分功能稱為路由選擇。關于MO方向的命令(即命令接收方為SP),其路由依照命令中的SP接入號碼來選擇。關于MT方向的命令(即接收方為用戶手機),其路由依照命令中的付費號碼和用戶號碼來綜合推斷。假如付費號碼為空,或付費號碼為SP接入號碼,則依照用戶號碼來選擇路由;否則依照付費號碼所代表的手機號碼來選擇路由(如此做是考慮到了系統計費和用戶鑒權的可行性,關于計費和用戶鑒權的細節(jié),請參見其它文檔)。由于SMG網關之間采納網狀互聯,網關之間不可能出現二次前轉,因此接

19、收前轉消息的網關必須能推斷前轉的消息目的地址是否是本網關覆蓋范圍的用戶,若不是,必須發(fā)送出錯信息到前轉網關。通信流程SGIP有兩種具體實現方式,一種是采納專用SGIP方式,另一種是采納通用HTTP方式。SMG和GNS、以及SMG和SMG之間采納專用SGIP方式作為承載協議;而SP和SMG的通信同時支持專用SGIP方式和通用HTTP方式兩種承載協議。3.1專用SGIP方式采納專用SGIP方式承載時,通信雙方互為客戶端和服務器端。當客戶端要發(fā)送命令時,主動向服務器端建立連接,然后向服務器端發(fā)送命令,并接收應答;服務器端從客戶端接收命令,返回應答。連接建立以后,客戶端能夠連續(xù)發(fā)送多條命令。命令發(fā)送完

20、并接收到所有應答后,客戶端應該主動斷開連接。然而,命令及其應答之間的時刻間隔最大不能超過30秒(默認,可配置)(假如命令應答時刻超過最大等待時刻,則要求客戶端重發(fā)該條命令,重發(fā)機制參見業(yè)務聯網規(guī)范有關內容),且待應答的命令不得超過32條(能夠依照線路的質量和服務器的處理能力配置)。而且,假如服務器端檢測出一條連接長時刻空閑(默認60秒,可配置),能夠主動斷開該連接。假如需要,客戶端能夠同時向一個服務器端建立多個連接(SMG與單個其他SMG最多不能建立超過15個連接,對與之相連的單個SP的最大連接數視具體情況而定)。采納專用SGIP承載方式時,SMG和SMG、SP和SMG之間使用的端口號是880

21、1,GNS監(jiān)聽SMG的端口號為8802,SMG監(jiān)聽GNS的端口號為8803,主GNS和備用GNS之間的端口號為8804,SMG之間的測試用端口號為8810。3.2通用HTTP方式HTTP承載方式只適用于SP和SMG的通信中。與SP與SMG之間的專用SGIP承載方式不同的是,該種方式一次連接僅僅傳送一條命令,而且連接的認證采納HTTP的URL的授權認證的方式,不需要專門的連接認證的命令,使用的端口號是80。3.3通信節(jié)點編號規(guī)則在整個網關系統中,所有的通信節(jié)點(SMG、GNS、SP和SMSC)都有一個唯一的數字編號,不同的SP或SMSC或SMG或GNS編號不能相同,編號由系統治理人員負責分配。編

22、號規(guī)則如下:SMG的編號規(guī)則:1AAAAXSMSC的編號規(guī)則:2AAAAXSP的編號規(guī)則:3AAAAQQQQQGNS的編號規(guī)則:4AAAAX其中,AAAA表示四位長途區(qū)號(不足四位的長途區(qū)號,左對齊,右補零),X表示1位序號,QQQQQ表示5位企業(yè)代碼。3.4序列號的定義短消息網關系統之中傳輸的每一條命令都有一個序列號,序列號由命令源節(jié)點產生并唯一標記一條命令;也確實是講,網關系統中任何兩個命令的序列號都不相同。需要注意的是,一條命令在發(fā)送過程中轉發(fā)的不同副本視為一條命令,使用相同的序列號。比如,SP1X向SMSC2A發(fā)送一條命令,該命令需通過多次轉發(fā)才能到達SMSC2A,而轉發(fā)該命令的每一次

23、通信過程中使用的命令的序號均相同,為SP1X與SMG1通信所使用的序列號。關于MO短消息,例如SMSC1B向SP3X發(fā)送一條命令,短消息首先采納SMPP協議發(fā)送到SMG1,通過SMG1轉發(fā)時序列號必須由SMG1重新生成(現在命令源節(jié)點為SMG1)。序列號分成三部分,每部分為一個32位整數,第一部分表示命令源節(jié)點的編號,第二部分表示命令產生的日期和時刻(網關系統中的任何命令的保存時刻都不應該超過一年),格式為十進制的mmddhhmmss,比如11月20日20時32分25秒產生的命令,其第二部分為十進制1120203225;第三部分由0開始,循環(huán)進位,直到進位滿了之后再清零,重新開始計數。接收方在

24、返回應答時,應答的序列號必須和相對應的命令的序列號相同。圖3-1 命令序列號格式舉例3.5通信的安全性SP與SMG、SMG與SMG以及SMG與GNS之間采納專用SGIP方式通信時可采納對稱加密方式。SP與SMG之間采納通用HTTP方式時,可采納HTTPS方式加密。3.6用戶鑒權當一條MT短消息需要處理時,終點SMG必須保證該短消息的付費方有資格享用該服務(比如付費用戶不欠費)。依照短消息服務類型的不同,能夠將付費方式分成三類:被叫方付費、SP付費和第三方付費。3.6.1被叫方付費目前的短消息中心都具有對被叫用戶鑒權的功能,因此對由被叫方付費的MT短消息,SMG不作鑒權檢查,直接轉發(fā)至SMSC;

25、假如被叫方鑒權失敗,SMSC會通過反饋通知SMG。3.6.2SP付費當MT短消息是由SP付費時(如SP發(fā)送廣告),SMG不作鑒權檢查。3.6.3第三方付費當MT短消息是由第三方付費 (如手機用戶A通過SP給手機用戶B點歌,并由手機用戶A付費)時,應該應付費方進行鑒權。這種情況下,該MT短消息應該從付費方歸屬地的短消息中心發(fā)送,同時由付費方歸屬地的計費中心完成鑒權操作。假如計費中心鑒權成功,SMG立即該MT短消息發(fā)送至SMSC,否則SMG不再發(fā)送該短消息,并依照SP的要求決定是否返回Report命令通知SP發(fā)送失敗的緣故。SMG和計費中心通過TCP/IP通信實現鑒權功能。計費中心為服務器端,SM

26、G為客戶端。一次鑒權過程完成對一個手機號碼的鑒權。鑒權步驟如下:SMG和計費中心建立TCP/IP連接;SMG向計費中心發(fā)送鑒權命令;SMG從計費中心接收鑒權應答;SMG和計費中心斷開連接;消息描述CheckUserSMG向計費中心請求對一個手機號碼鑒權CheckUser_Resp計費中心向SMG返回的一個手機號碼的鑒權結果表3-1 SMG和計費中心的鑒權消息3.7 SP與SMG的通信SP和SMG支持兩種類型的通信承載方式:通用HTTP承載方式和通用SGIP承載方式。3.7.1通用HTTP方式SP和SMG之間采納通用HTTP方式通信時,SP和SMG互為HTTP的客戶端和服務器端。HTTP服務器端

27、對相關的URL進行愛護,HTTP客戶端必須采納授權方式訪問這些URL。HTTP的特點決定客戶端和服務器端的每一次通信都必須一次完成授權連接、發(fā)送請求、接收應答、關閉連接等過程(HTTP承載方式不再需要專門的連接命令)。關于MO方向的命令(即命令接收方為SP),由SMG通過POST方式提交給SP進行處理,SP將處理結果以及MT方向信息在HTTP應答中返回給SMG;關于SP主動向用戶發(fā)送信息的PUSH業(yè)務,由SP作為客戶端將信息通過POST方式提交給SMG進行處理,SMG在應答中確認信息發(fā)送成功與否。因為HTTP服務器對URL進行了授權愛護,因此HTTP客戶端必須在每次請求中都帶上授權信息。HTT

28、P客戶端的一個請求只能攜帶一條命令。SP與SMG之間發(fā)送的任何一條命令都帶有一個序列號,序列號由命令源產生,任何兩條命令的序列號不能重復。假如HTTP服務器接收到的HTTP請求內容的格式不完整或不正確, HTTP服務器應該返回錯誤碼。HTTP承載方式支持的HTTP協議為1.0版。HTTP承載方式使用如下命令:從SP到SMG的命令消息描述SubmitSP用該消息向SMG請求向某一個短消息用戶發(fā)送短消息TraceSP用該消息向SMG請求跟蹤某一條MT短消息的狀態(tài)表3-2 從SP到SMG的命令從SMG到SP的命令消息描述DeliverSMG發(fā)送一條短消息到SPReportSMG用該命令通知SP一條S

29、ubmit命令所發(fā)送的MT當前結果UserRptSMG用該命令報告SP一條手機用戶的狀態(tài)表3-3 從SMG到SP的命令3.7.2專用SGIP方式SP和SMG之間的通信由客戶端向服務器端發(fā)起連接。連接建立以后,由客戶端向服務器端發(fā)送命令,服務器端必須對接收到的每一條命令返回一條應答消息。SP和SMG互為客戶端和服務器端。通信初始化客戶端有命令要向服務器端發(fā)送時,由客戶端首先通過Bind命令向服務器端發(fā)起連接。服務器端依照Bind命令之中的登錄名和密碼,對客戶端的合法性進行驗證,然后返回一條Bind_Resp應答給客戶端。假如驗證通過,則客戶端和服務器端的通信開始,否則中斷連接。通信過程SP與SM

30、G之間發(fā)送的任何一條命令都帶有一個序列號,序列號由命令源產生??蛻舳伺c服務器端通信開始以后,客戶端能夠向服務器端發(fā)送相應的命令,服務器端對收到的命令返回應答。圖3-2 SP和SMG的通信消息樣例(SP為客戶端)圖3-3 SP和SMG的通信消息樣例(SMG為客戶端)命令在SP和SMSC之間的傳輸是采納類似接力的方式,每條命令和對應的應答僅僅表示該次命令發(fā)送的結果是否正確。比如,SP向某一個手機發(fā)送一條短消息,是通過向本地SMG發(fā)送一條Submit命令實現的,隨后,SP會從SMG接收到一條Submit_Resp應答。然而,即使應答表示Submit命令已正確接收,也不表示Submit命令內的短消息差

31、不多發(fā)送到手機上了,而僅僅表示該短消息差不多傳送到SMG,SMG將會作下一步處理,或者發(fā)送給SMSC,或者路由到另外的SMG,最終由目的SMSC發(fā)送到手機上。這中間任何一個環(huán)節(jié)出現錯誤,系統會終止信息的接著發(fā)送,同時通過向原SP發(fā)送Report命令告訴發(fā)送出錯的緣故(假如SP指定要求反饋的話)。通信結束假如客戶端認為和服務器端的通信已結束,則客戶端應該向服務器端發(fā)送Unbind命令,服務器端隨后返回Unbind_Resp應答,然后雙方斷開連接。故障處理發(fā)生故障時,SP、SMG以及GNS節(jié)點應通過Report命令和其它相關命令的應答相結合返回故障緣故;假如MO不成功,該用戶所屬的SMG還應向用戶

32、終端返回友好的應答信息講明不成功緣故。.1網絡故障客戶端與服務器端的通信過程中假如檢測到雙方連接中斷(如網絡斷線),客戶端應該斷開連接,然后嘗試重新向服務器端建立新的連接;服務器端應該按照接收到Unbind的情況進行處理,斷開和客戶端的連接。.2接收到非法命令或應答假如服務器端接收到的命令語法錯誤,比如命令不完整、命令無法識不等,則斷開和客戶端的連接;客戶端應該向服務器端建立新連接接著發(fā)送命令。假如客戶端接收到的應答語法錯誤,比如命令不完整、命令無法識不等,則主動斷開和服務器端的連接;服務器端也應該斷開和客戶端的連接。假如命令語法正確,但服務器端不處理該命令,比如SP為服務器端時收到Submi

33、t命令,則返回相應應答,并在應答中指定錯誤緣故。假如應答語法正確,但客戶端不處理該應答,比如SP為客戶端時收到Deliver_Resp應答,則丟棄。.3序列號重復假如命令的序列號和往常接收到的命令的序列號相同,且命令內容也相同,則接收方丟棄該命令;假如序列號相同,然而命令內容并不相同,則命令接收方在應答中返回錯誤碼。從SP到SMG的消息消息適用方式描述BindSP為客戶端SP用該消息向SMG發(fā)出建立連接的請求Bind_RespSP為服務器SP對Bind命令的應答UnbindSP為客戶端SP用該消息向SMG通知將要斷開現有的連接Unbind_RespSP為服務器SP對Unbind命令的應答Sub

34、mitSP為客戶端SP用該消息向SMG請求發(fā)送短消息Deliver_RespSP為服務器端SP用該消息對從SMG接收到的Deliver命令作出應答Report_RespSP為服務器SP對從SMG接收到的Report命令作出應答UserRpt_RespSP為服務器SP對從SMG接收到的UserRpt命令作出應答TraceSP為客戶端SP用該消息向SMG請求跟蹤某一條MT短消息的狀態(tài)表3-4 從SP到SMG的消息從SMG到SP的消息消息適用方式描述BindSMG為客戶端SMG用該消息向SP發(fā)出建立連接的請求Bind_RespSMG為服務器端SMG對Bind命令的應答UnbindSMG為客戶端SMG

35、用該消息向SP通知將要斷開現有的連接Unbind_RespSMG為服務器端SMG對Unbind命令的應答Submit_RespSMG為服務器端SMG對Submit命令的應答DeliverSMG為客戶端SMG發(fā)送一條短消息到SPReportSMG為客戶端SMG用該命令通知SP一條Submit命令所發(fā)送的MT當前結果UserRptSMG為客戶端SMG用該命令通知SP一條手機用戶的狀態(tài)信息Trace_RespSMG為客戶端SMG對Trace命令的應答表3-5從SMG到SP的消息3.8 SMG與SMG之間的通信在網關系統之中,任何兩個SMG之間都要建立一對基于TCP/IP的連接,以實現命令的路由。兩個

36、SMG互為客戶端和服務器端,客戶端向服務器端發(fā)送命令,接收應答;服務器端從客戶端接收命令,返回應答。圖3-4 SMG之間的通信消息樣例3.8.1通信初始化SMG與SMG通信時,由客戶端首先通過Bind命令向服務器端發(fā)起連接。服務器端依照Bind命令之中的登錄名和密碼,對客戶端的合法性進行驗證,然后返回一條Bind_Resp應答給客戶端。假如驗證通過,則客戶端和服務器端的通信開始,否則中斷連接。3.8.2通信過程兩個SMG之間的通信和SP和SMG之間的基于TCP/IP的承載方式的通信方式相同。3.8.3通信結束假如客戶端認為和服務器端的通信已結束,則客戶端應該向服務器端發(fā)送Unbind命令,服務

37、器端隨后返回Unbind_Resp應答,然后雙方斷開連接。3.8.4故障處理SMG之間的故障處理和SP與SMG之間的故障處理相同。3.8.5兩個SMG之間的消息消息描述Bind客戶端向服務器端請求連接Bind_Resp服務器端對接收到的Bind命令的響應Unbind客戶端向服務器端通知斷開當前的連接Unbind_Resp服務器端對接收到的Unbind命令的響應Submit客戶端向服務器端發(fā)送一條MT短消息Submit_Resp服務器端向從客戶端接收到的Submit命令發(fā)送的應答消息Deliver客戶端向服務器端發(fā)送一條MO短消息Deliver_Resp服務器端向從客戶端接收到的Deliver命

38、令發(fā)送的應答消息Report客戶端向服務器端發(fā)送一條MT或MO的發(fā)送結果Report_Resp服務器端向從客戶端接收到的Report命令發(fā)送應答消息UserRpt客戶端向服務器端發(fā)送一條手機用戶的狀態(tài)信息UserRpt_Resp服務器端向從客戶端接收到的UserRpt命令發(fā)送應答消息Trace客戶端向服務器端發(fā)送請求跟蹤某一條MT短消息狀態(tài)的信息Trace_Resp服務器端向從客戶端接收到的Trace命令發(fā)送應答消息表3-6 SMG之間的消息3.9 SMG與GNS之間的通信在網關系統之中,任何一個SMG都要和GNS以互為客戶端/服務器的方式建立連接來完成路由表的更新和維護。當SMG對本地的路由

39、表作修改后,需要主動以客戶端的身份向GNS建立連接,通知GNS更新路由表;當GNS修改了路由表后,需要主動以客戶端的身份向所有的SMG建立連接,通知SMG更新路由表。3.9.1通信初始化SMG與GNS通信時,由客戶端首先通過Bind命令向服務器端發(fā)起連接。服務器端依照Bind命令之中的登錄名和密碼,對客戶端的合法性進行驗證,然后返回一條Bind_Resp應答給客戶端。假如驗證通過,則客戶端和服務器端的通信開始,否則中斷連接。3.9.2通信過程客戶端和服務器端建立連接以后,客戶端向服務器端發(fā)送命令,服務器端則返回應答。3.9.3通信結束假如客戶端認為和服務器端的通信已結束,則客戶端應該向服務器端

40、發(fā)送Unbind命令,服務器端隨后返回Unbind_Resp應答,然后雙方斷開連接。3.9.4故障處理SMG和GNS的故障處理和SP與SMG之間的故障處理相同。3.9.5從SMG到GNS的消息消息適用方式描述BindSMG為客戶端SMG向GNS端請求連接Bind_RespSMG為服務器端SMG對Bind命令的應答UnbindSMG為客戶端SMG向GNS端通知斷開當前的連接Unbind_RespSMG為服務器端SMG對Unbind命令的應答AddSPSMG為客戶端SMG通知GNS添加了一個SPAddSP_RespSMG為服務器端SMG對AddSP命令的應答ModifySPSMG為客戶端SMG通知

41、GNS修改了一個SPModifySP_RespSMG為服務器端SMG對ModifySP命令的應答DeleteSPSMG為客戶端SMG通知GNS刪除了一個SPDeleteSP_RespSMG為服務器端SMG對DeleteSP命令的應答AddTeleSegSMG為客戶端SMG通知GNS添加了一個號碼段AddTeleSeg_RespSMG為服務器端SMG對AddTeleSeg命令的應答ModifyTeleSegSMG為客戶端SMG通知GNS修改了一個號碼段ModifyTeleSeg_RespSMG為服務器端SMG對ModifyTeleSeg命令的應答DeleteTeleSegSMG為客戶端SMG通知

42、GNS刪除了一個號碼段DeleteTeleSeg_RespSMG為服務器端SMG對DeleteTeleSeg命令的應答QueryRouteSMG為客戶端SMG向GNS請求一個手機號或接入號碼的路由信息,或全部路由表信息QueryRoute_RespSMG為服務器端SMG對QueryRoute命令的應答表3-7從SMG到GNS的消息3.9.6從GNS到SMG的消息消息適用方式描述BindGNS為客戶端GNS向SMG端請求連接Bind_RespGNS為服務器端GNS對Bind命令的應答UnbindGNS為客戶端GNS向SMG端通知斷開當前的連接Unbind_RespGNS為服務器端GNS對Unbi

43、nd命令的應答AddSPGNS為客戶端GNS通知SMG添加了一個SPAddSP_RespGNS為服務器端GNS對AddSP命令的應答ModifySPGNS為客戶端GNS通知SMG修改了一個SPModifySP_RespGNS為服務器端GNS對ModifySP命令的應答DeleteSPGNS為客戶端GNS通知SMG刪除了一個SPDeleteSP_RespGNS為服務器端GNS對DeleteSP命令的應答AddTeleSegGNS為客戶端GNS通知SMG添加了一個號碼段AddTeleSeg_RespGNS為服務器端GNS對AddTeleSeg命令的應答ModifyTeleSegGNS為客戶端GNS

44、通知SMG修改了一個號碼段ModifyTeleSeg_RespGNS為服務器端GNS對ModifyTeleSeg命令的應答DeleteTeleSegGNS為客戶端GNS通知SMG刪除了一個號碼段DeleteTeleSeg_RespGNS為服務器端GNS對DeleteTeleSeg命令的應答AddSMGGNS為客戶端GNS通知SMG添加了一個SMGAddSMG_RespGNS為服務器端GNS對AddSMG命令的應答ModifySMGGNS為客戶端GNS通知SMG修改了一個SMGModifySMG_RespGNS為服務器端GNS對ModifySMG命令的應答DeleteSMGGNS為客戶端GNS通

45、知SMG刪除了一個SMGDeleteSMG_RespGNS為服務器端GNS對DeleteSMG命令的應答表3-8從GNS到SMG的消息消息定義系統中的消息分三種:基于HTTP的消息、基于TCP/IP的消息和鑒權消息,系統中每個消息包最大不超過2K字節(jié)。4.1基于通用HTTP的消息定義HTTP客戶端采納POST方法向服務器端發(fā)送請求,服務器端返回應答。HTTP請求和響應的格式如下(請參照附錄三):格式講明=. . .HTTP協議頭和內容之間必須有一個空行假如HTTP通信出錯(比如所請求的URL不存在),則沒有內容部分每個參數占一行,所有的參數名稱和參數值都為文本類型每行都要以回車/換行結束表4-

46、1 HTTP的消息格式4.1.1Submit操作在SP和SMG的通信中,SP用Submit命令向SMG提交MT短消息,SMG返回響應。Submit命令的請求內容參數名稱講明CommandId*命令ID,十六進制數字SequenceNumber序列號,十六進制數字SPNumberSP的接入號碼,字符ChargeNumber付費號碼,字符,手機號碼前加“86”國不標志;當且僅當群發(fā)且對用戶收費時為空;假如為空,則該條短消息產生的費用由UserNumber代表的用戶支付;假如為全零字符串“000000000000000000000”,表示該條短消息產生的費用由SP支付。UserNumber一個或多個

47、接收該短消息的手機號,手機號之間用逗號(,)隔開,字符,手機號碼前加“86”國不標志,如8613001125453,8613001132345CorpId企業(yè)代碼,取值范圍0-99999,字符ServiceType業(yè)務代碼,由SP定義,字符FeeType*計費類型,字符FeeValue取值范圍0-99999,該條短消息的收費值,單位為分,由SP定義,字符關于包月制收費的用戶,該值為月租費的值GivenValue取值范圍0-99999,贈送用戶的話費,單位為分,由SP定義,特指由SP向用戶發(fā)送廣告時的贈送話費,字符AgentFlag代收費標志,0:應收;1:實收,字符MorelatetoMTFl

48、ag引起MT消息的緣故0-MO點播引起的第一條MT消息;1-MO點播引起的非第一條MT消息;2-非MO點播引起的MT消息;3-系統反饋引起的MT消息。字符Priority優(yōu)先級0-9從低到高,默認為0,十六進制數字ExpireTime短消息壽命的終止時刻,假如為空,表示使用短消息中心的缺省值。時刻內容為16個字符,格式為“yymmddhhmmsstnnp”,其中“tnnp”取固定值“032+”,即默認系統為北京時刻ScheduleTime短消息定時發(fā)送的時刻,假如為空,表示趕忙發(fā)送該短消息。時刻內容為16個字符,格式為“yymmddhhmmsstnnp”,其中“tnnp”取固定值“032+”,

49、即默認系統為北京時刻ReportFlag狀態(tài)報告標記0-該條消息只有最后出錯時要返回狀態(tài)報告1-該條消息不管最后是否成功都要返回狀態(tài)報告2-該條消息不需要返回狀態(tài)報告3-該條消息僅攜帶包月計費信息,不下發(fā)給用戶,要返回狀態(tài)報告其它-保留缺省設置為0,十六進制數字MessageType信息類型:0-短消息信息其它:待定十六進制數字TP_pidGSM協議類型。詳細解釋請參考GSM03.40中的十六進制數字TP_udhiGSM協議類型。詳細解釋請參考GSM03.40中的3,僅使用1位,右對齊十六進制數字MessageCoding短消息的編碼格式。0:純ASCII字符串3:寫卡操作4:二進制編碼8:U

50、CS2編碼15:GBK編碼其它參見GSM3.38第4節(jié):SMS Data Coding Scheme十六進制數字MessageContent短消息的內容,十六進制數字Reserve保留,擴展用*注1:消息ID定義在5.1中;*注2:計費類型定義在5.3中。表4-2 Submit命令的請求格式Submit命令的應答內容字段講明CommandId命令ID,十六進制數字SequenceNumber序列號,十六進制數字ResultSubmit命令是否成功接收。十六進制數字0:接收成功其它:錯誤碼*Reserve保留,擴展用*注:錯誤碼定義在5.2中表4-3 Submit命令的應答格式4.1.2Deli

51、ver操作在SP和SMG的通信中,SMG用Deliver命向SP發(fā)送一條MO短消息。SMG接收到Deliver命令,會返回Deliver_Resp應答。SMG依照Deliver命令中目的特服號,推斷出該服務屬于和哪一個SMG相連接的SP,假如屬于本地SP,則直接發(fā)送到SP,否則路由至相應的SMG。Deliver命令的請求內容參數名稱講明CommandId命令ID,十六進制數字SequenceNumber序列號,十六進制數字UserNumber發(fā)送該短消息的手機號,字符,手機號碼前加“86”國不標志SPNumber接收該短消息的SP的接入號碼,字符TP_pidGSM協議類型。詳細解釋請參考GSM

52、03.40中的十六進制數字TP_udhiGSM協議類型。詳細解釋請參考GSM03.40中的3,僅使用1位,右對齊十六進制數字MessageCoding短消息的編碼格式。0:純ASCII字符串3:寫卡操作4:二進制編碼8:UCS2編碼15:GBK編碼其它參見GSM3.38第4節(jié):SMS Data Coding Scheme十六進制數字MessageContent短消息的內容,十六進制數字Reserve保留,擴展用表4-4 Deliver命令的請求格式Deliver命令的應答內容字段講明CommandId命令ID,十六進制數字SequenceNumber序列號,十六進制數字ResultDelive

53、r命令是否成功接收。十六進制數字0:接收成功其它:錯誤碼Reserve保留,擴展用表4-5 Deliver命令的應答格式4.1.3Report操作Report命令用于向SP發(fā)送一條先前的Submit命令的當前狀態(tài)。Report命令的請求內容參數名稱講明CommandId命令ID,十六進制數字SequenceNumber序列號,十六進制數字SubmitSequenceNumber該命令所涉及的Submit或deliver命令的序列號,十六進制數字ReportTypeReport命令類型0:對先前一條Submit命令的狀態(tài)報告1:對先前一條前轉Deliver命令的狀態(tài)報告,十六進制數字UserNu

54、mber接收該短消息的手機號,字符,手機號碼前加“86”國不標志State*該命令所涉及的短消息的當前執(zhí)行狀態(tài)0:發(fā)送成功1:等待發(fā)送2:發(fā)送失敗十六進制數字ErrorCode當State=2時為錯誤碼值,否則為0,十六進制數字Reserve保留,擴展用表4-6 Report命令的請求格式*注:當report反饋的是短消息中心的狀態(tài)報告時,state的三種狀態(tài)與短消息狀態(tài)報告中的狀態(tài)的對應關系見5.4 report狀態(tài)與短消息狀態(tài)的映射。Report命令的應答內容字段講明CommandId命令ID,十六進制數字SequenceNumber序列號,十六進制數字ResultReport命令是否成功

55、接收。十六進制數字0:接收成功其它:錯誤碼Reserve保留,擴展用表4-7 Report命令的應答格式4.1.4UserRpt操作UserRpt命令用于在完成對用戶鑒權后,由SMG向手機用戶所注冊的SP發(fā)送命令,對手機用戶進行狀態(tài)配置。UserRpt命令的請求內容參數名稱講明CommandId命令ID,十六進制數字SequenceNumber序列號,十六進制數字SPNumberSP的接入號碼,字符UserNumber待配置的手機號碼,字符,手機號碼前加“86”國不標志UserCondition十六進制數,0:注銷;1:欠費停機;2:恢復正常Reserve保留,擴展用表4-8 UserRpt命

56、令的請求格式UserRpt命令的應答內容參數名稱講明CommandId命令ID,十六進制數字SequenceNumber序列號,十六進制數字ResultUserRpt命令執(zhí)行結果0:成功其它:錯誤碼Reserve保留,擴展用表4-9 UserRpt命令的應答格式4.1.5Trace操作Trace命令用于向SMG請求跟蹤某一條MT短消息的狀態(tài)。Trace命令的請求內容參數名稱講明CommandId命令ID,十六進制數字SequenceNumber序列號,十六進制數字SubmitSequenceNumber被跟蹤MT短消息的命令序列號,十六進制數字UserNumber被跟蹤MT短消息的目的手機號,

57、字符,手機號碼前加“86”國不標志Reserve保留,擴展用表4-10 Trace命令的請求格式Trace命令的應答內容字段講明CommandId命令ID,十六進制數字SequenceNumber序列號,十六進制數字Count被跟蹤MT短消息通過的節(jié)點個數,當被跟蹤短消息通過多個節(jié)點時,以下各個字段可重復ResultTrace命令在該節(jié)點是否成功接收。十六進制數字0:接收成功1:等待處理其它:錯誤碼NodeId節(jié)點編號,字符ReceiveTime被跟蹤的短消息到達該節(jié)點時刻,格式為“yymmddhhmmss”SendTime該節(jié)點發(fā)出被跟蹤的短消息時刻,格式為“yymmddhhmmss”Res

58、erve保留,擴展用,當被跟蹤短消息通過多個節(jié)點時,以上各個字段可重復表4-11 Trace命令的應答格式4.2基于專用SGIP的消息定義專用SGIP協議中定義的消息由消息頭和消息體組成。項目講明消息頭消息頭部分消息體消息體部分表4-12消息的組成4.2.1數據類型消息中利用到如下數據類型類型講明Integer 無符號整數Text定長字符串,左對齊存儲,空余位置補0表4-13消息的數據類型消息中的所有Integer類型的字段均采納網絡字節(jié)順序。所有消息中的序列號字段均占12個字節(jié),分為3個4字節(jié)整數;通信傳輸時每個整數都使用網絡字節(jié)順序,但整數的次序并不改變。也確實是講,通信傳輸的時候,序列號

59、字段應該按照三個連續(xù)的4字節(jié)整數來處理。4.2.2消息頭的格式字段長度(字節(jié))類型講明Message Length4Integer消息的總長度(字節(jié))Command ID4Integer命令IDSequence Number12Integer序列號表4-14消息頭的格式4.2.3消息體的格式Bind操作Bind操作由Bind命令和Bind_Resp應答組成??蛻舳耸紫劝l(fā)送Bind命令,服務器端收到Bind命令后,對命令發(fā)送方進行驗證,然后返回Bind_Resp應答。.1Bind命令的語法字段長度(字節(jié))類型講明Login Type1Integer登錄類型。1:SP向SMG建立的連接,用于發(fā)送命

60、令2:SMG向SP建立的連接,用于發(fā)送命令3:SMG之間建立的連接,用于轉發(fā)命令4:SMG向GNS建立的連接,用于路由表的檢索和維護5:GNS向SMG建立的連接,用于路由表的更新6:主備GNS之間建立的連接,用于主備路由表的一致性11:SP與SMG以及SMG之間建立的測試連接,用于跟蹤測試其它:保留Login Name16Text服務器端給客戶端分配的登錄名Login Passowrd16Text服務器端和Login Name對應的密碼Reserve8Text保留,擴展用表4-15 Bind消息格式.2Bind_Resp應答的語法字段長度(字節(jié))類型講明Result1IntegerBind執(zhí)行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論