??? 摘?要: 介紹了USSD的背景和特點,并與短消息" title="短消息">短消息、GPRS和WAP相比較,,論述了其在工業(yè)應(yīng)用" title="工業(yè)應(yīng)用">工業(yè)應(yīng)用上的可行性及優(yōu)點,,并以中電五十所成功運營在烏魯木齊的無線遠程監(jiān)控系統(tǒng)為例,講述了USSD在工業(yè)應(yīng)用中的系統(tǒng)結(jié)構(gòu),、接口協(xié)議" title="接口協(xié)議">接口協(xié)議和通信流程,。
??? 關(guān)鍵詞: 非結(jié)構(gòu)化補充數(shù)據(jù)業(yè)務(wù)? 通用分組無線業(yè)務(wù)? 業(yè)務(wù)提供者? 中國移動點對點
?
??? 非結(jié)構(gòu)化補充數(shù)據(jù)業(yè)務(wù)USSD(Unstructured Supplementary Service Data)是一種基于全球移動通信系統(tǒng)GSM(Global System for Mobile Communications)網(wǎng)絡(luò)的、實時在線的新型交互會話數(shù)據(jù)業(yè)務(wù),;它基于用戶識別模塊SIM(Subscriber Identity Module)卡,,利用GSM網(wǎng)絡(luò)的信令通道傳送數(shù)據(jù),是在GSM的短消息系統(tǒng)技術(shù)基礎(chǔ)上推出的新業(yè)務(wù),,在業(yè)務(wù)開拓方面的能力遠遠強于SMS系統(tǒng),。
??? USSD技術(shù)單獨使用或與目前的短消息技術(shù)、通用分組無線業(yè)務(wù)GPRS(General Packet Radio Service)技術(shù)相結(jié)合,,可為客戶提供種類繁多的增值業(yè)務(wù),,如移動銀行、金融股票交易,、手機話費查詢,、氣象信息預報和查詢、收發(fā)電子郵件,、航班查詢,、網(wǎng)上訂票、民意測驗等,。采用USSD對原有系統(tǒng)結(jié)構(gòu)影響較小,,且運營商還可以針對本地網(wǎng)的具體情況靈活地推出功能業(yè)務(wù),方便地為移動用戶提供各類數(shù)據(jù)業(yè)務(wù),;另外USSD不僅可用于一些信息服務(wù),,利用移動運營商提供的通信網(wǎng)絡(luò),,也可應(yīng)用于工業(yè)范圍,USSD的應(yīng)用可使工業(yè)監(jiān)控通信的范圍大大擴展,,功能增強,,成本降低,所以這種業(yè)務(wù)在香港特區(qū),、新加坡等國家和地區(qū)已有廣泛的應(yīng)用,,在我國也有廣闊的應(yīng)用前景。
1 USSD的特點及與其他業(yè)務(wù)的比較
??? USSD系統(tǒng)與短消息業(yè)務(wù)SMS(Short Message Service),、GPRS和無線應(yīng)用協(xié)議WAP(Wireless Application Protocol)的應(yīng)用范圍相似,,但有其自己的特點。
??? USSD在通話狀態(tài)下使用獨立專用控制信道SDCCH(Stand-alone Dedicated Control Channel),,數(shù)據(jù)傳輸速率" title="傳輸速率">傳輸速率大約為600bps,;而非通話狀態(tài)時,USSD使用快速輔助控制信道FACCH(Fast Associated Control Channel),,數(shù)據(jù)傳輸速率大約為1kbps,,比SMS傳輸速率高。目前,,用戶只能在非通話狀態(tài)下使用WAP,,數(shù)據(jù)通過業(yè)務(wù)信道TCH(Traffic Channel)進行交換,其傳輸速率大約為9.6kbps,,目前WAP的響應(yīng)時間較慢,,且需專門的WAP手機支持。
??? USSD在會話過程中一直保持通話連接,,提供透明通道,,不進行存儲轉(zhuǎn)發(fā);而SMS在物理承載層沒有會話通道,,是一個存儲轉(zhuǎn)發(fā)系統(tǒng),,用戶完成一次查詢需要進行多次會話過程。由于USSD與GPRS類似,,在交互中保持一個會話過程,,每次數(shù)據(jù)發(fā)送不需要重新建立信道,所以USSD系統(tǒng)對用戶的呼叫請求是即時響應(yīng),,使響應(yīng)時間大大加快,,主要的響應(yīng)時延已轉(zhuǎn)移為應(yīng)用服務(wù)器一端, 響應(yīng)時間比短消息快,。
??? USSD在交互式會話中可以提供直觀的菜單操作,,方便用戶使用,在一次信息服務(wù)中,,只需要撥打服務(wù)號碼,,以后就可以按菜單提示進行下一步操作,,可以建立類似WAP的門戶網(wǎng)站來提供電信增值服務(wù)。
??? USSD和GPRS適合不同的用戶群,。在工業(yè)環(huán)境下,,在通信量不大、每次通信量只有幾K數(shù)據(jù)量的情況下使用USSD的費用低廉,;而GPRS傳送帶寬高,,適用于信息量大的數(shù)據(jù)傳輸。
??? 現(xiàn)在市面上的手機大多支持USSD服務(wù),。在工業(yè)應(yīng)用中,,大多具有SMS和GPRS功能的通信模塊或芯片也支持USSD服務(wù),。
2? USSD在工業(yè)應(yīng)用中的系統(tǒng)結(jié)構(gòu)
??? 如圖1,,監(jiān)控中心通過Internet或?qū)>€與USSD平臺建立TCP/IP連接,USSD傳輸終端通過GSM的公用網(wǎng)絡(luò)與USSD平臺建立無線連接,,通過USSD平臺與GSM網(wǎng)絡(luò),、監(jiān)控中心和現(xiàn)場監(jiān)控單元建立起一個數(shù)據(jù)通信的通道。在移動USSD平臺中有數(shù)據(jù)庫備份數(shù)據(jù),,監(jiān)控中心除應(yīng)用平臺外,,還可備有有線瀏覽器進行監(jiān)測。透過GSM網(wǎng)絡(luò)和USSD平臺,,無線瀏覽器和手機也可與監(jiān)控中心建立聯(lián)系,。
?
??? 其中,USSD服務(wù)器有兩個網(wǎng)絡(luò)接口分別對應(yīng)于歸屬位置寄存器HLR(Home Location Register)和局域網(wǎng):一方面,,它通過七號信令SS7(Signaling System No.7)的移動應(yīng)用部分Map(Mobile Application Part)與GSM系統(tǒng)的HLR連接,;另一方面,它通過專線以傳輸控制協(xié)議/ 網(wǎng)際協(xié)議TCP/IP(Transfer Control Protocol/Internet Protocol)與應(yīng)用監(jiān)控中心連接,。應(yīng)用監(jiān)控中心與USSD服務(wù)器的接口協(xié)議可為短消息點對點SMPP(Short Message Peer to Peer)或中國移動點對點CMPP(China Mobile Peer to Peer),。GSM系統(tǒng)及USSD均起透明通道的作用,監(jiān)控中心可以發(fā)出指令,,對終端或手機進行通信控制或發(fā)送短消息,,手機或終端也可通過USSD服務(wù)來對監(jiān)控中心發(fā)出請求以得到相應(yīng)的服務(wù)。通信通道建立之后,,就可以象一般的工業(yè)總線一樣,,監(jiān)控中心對遠程終端進行三遙操作,終端也可以主動上報報警,、開機等信息,。
3? USSD的接口協(xié)議
??? USSD的接口協(xié)議與短消息類似,采用SMPP或CMPP,。SMPP是國際通用的協(xié)議,,CMPP是中國移動根據(jù)我國情況在SMPP基礎(chǔ)上自己制定的協(xié)議,,二者體系結(jié)構(gòu)大體相同,應(yīng)用范圍也相同,,但數(shù)據(jù)包的格式及內(nèi)容有一定的差異,。CMPP在2003年6月30日版本已升到了3.0。
??? 兩者的消息均分為消息頭和消息體,,其中消息頭長度是固定的,。主要信息為消息總長度、命令類型和消息流水號,。命令類型用來說明消息的類型是連接,,還是由USSD中心到業(yè)務(wù)提供者SP(Service Provider)的消息或由SP到USSD中心的消息,斷開連接及其回應(yīng)等,。消息流水號順序累加,,步長為1,循環(huán)使用,,一對請求和應(yīng)答消息的流水號必須相同,。在SMPP中還有一個請求消息的回應(yīng)是否成功的狀態(tài)信息,而在CMPP中相應(yīng)信息放到了消息體中,。消息體則根據(jù)消息的類型和內(nèi)容來決定長度和數(shù)據(jù),,但其所攜帶的自定義信息長度不超過160個字節(jié),自定義信息即平時通過手機輸入或接收的短消息內(nèi)容或工業(yè)通信中的自定義通信規(guī)約部分,。相對于SMPP而言,,CMPP增加了許多信息,尤其是計費和號碼的信息,。
??? 以下是采用CMPP的USSD消息在VB中的結(jié)構(gòu)定義:
??? Type UssdCmppMsgStruct
??????? '------------Message Header
??????? Total_Length As Long???? ?'消息總長度(含消息頭和消息體)
??????? Command_Id? As Long? ?'命令類型
??????? Sequence_Id? As Long?? ?'消息流水號
??????? '---------------Message Body
??????? Msg_Id(7) As Byte?????? ?'信息標識
??????? Pk_Total As Byte??????? ?'相同Msg_Id的信息總條數(shù)
??????? Pk_number As Byte????? ?'相同Msg_Id的信息序號
??????? Registered_Delivery As Byte '是否要求返回狀態(tài)確認報告
??????? Msg_level As Byte?????????? '信息級別
??????? Service_Id(9) As Byte??? ?'業(yè)務(wù)類型
??????? Fee_UserType As Byte?? ?'計費用戶類型????
??????? TP_pId As Byte???????? ?'GSM協(xié)議類型
??????? TP_udhi As Byte??????? ?'GSM協(xié)議類型
??????? Msg_Fmt As Byte??????? ?'信息格式
??????? Msg_src(5) As Byte????? ?'信息內(nèi)容來源
??????? FeeType(1) As Byte????? ?'資費類別
??????? FeeCode(5) As Byte????? ?'資費代碼
??????? ValId_Time(16) As Byte?? '存活有效期
??????? At_Time(16) As Byte???? ?'定時發(fā)送時間
??????? Src_Id(20) As Byte?????? ?'源號碼
??????? DestUsr_tl As Byte?????? ?'接收信息的用戶數(shù)量
??????? Dest_terminal_Id() As Byte '接收USSD信息的MSISDN號碼,length=21*DestUsr_tl
??????? Msg_Length As Byte????? ?'信息長度 <160 byte
??????? Msg_Content() As Byte??? ?'信息內(nèi)容
??????? USSD_TYPE(7) As Byte?? 'USSD會話類型
??? End Type
4? USSD的通信過程
??? 在工業(yè)應(yīng)用的監(jiān)控中心和USSD服務(wù)器接口的兩種協(xié)議中,,盡管SMPP和CMPP的數(shù)據(jù)包格式不大相同,但二者的流程大體相同,。在目前USSD的應(yīng)用中,,大部分是應(yīng)用在信息資訊等電信增值服務(wù)中,在工業(yè)的應(yīng)用中還不多,,但由于USSD業(yè)務(wù)的方便快捷,、費用低廉等優(yōu)勢,在工業(yè)應(yīng)用中的前景大有可為,。
??? 在USSD的通信會話過程中有兩種方式,,由手機或終端發(fā)起的會話連接和由應(yīng)用平臺或監(jiān)控中心發(fā)起的對話連接,以下介紹兩種流程,。
??? 首先,,在兩種連接流程中,監(jiān)控中心都要與USSDC(USSD Center)先建立一個連接,一般采用長連接,。所謂長連接,,指在一個TCP連接上可以連續(xù)發(fā)送多個數(shù)據(jù)包。監(jiān)控中心發(fā)出連接請求,,USSDC收到后給予回應(yīng),,監(jiān)控中心收到回應(yīng)后,就表明USSDC到監(jiān)控中心的通路已經(jīng)搭建好了,,這個通路在平時一直保持連接,,在線路空閑時要發(fā)送鏈路" title="鏈路">鏈路檢測包及其回應(yīng)以維持此連接。當信道上沒有數(shù)據(jù)傳輸時,,通信雙方應(yīng)每隔時間C發(fā)送鏈路檢測包以維持此連接,,當鏈路檢測包發(fā)出后超過時間T未收到響應(yīng),應(yīng)立即再發(fā)送鏈路檢測包,,再連續(xù)發(fā)送N-1次后仍未得到響應(yīng)則斷開此連接,。參數(shù)C、T,、N原則上可配置,,現(xiàn)階段中國移動的建議取值為:C=3min,,T=60s,,N=3。數(shù)據(jù)包采用并發(fā)方式發(fā)送,,加以滑動窗口流量控制,,窗口大小參數(shù)W可配置,現(xiàn)階段中國移動的建議值為16,,即接收方在應(yīng)答前一次收到的數(shù)據(jù)包最多不超過16條,。
4.1 終端發(fā)起的會話
??? 如圖2,RTU為手機或帶GSM通信功能的終端,,SP為監(jiān)控中心,。RTU通過USSDC發(fā)給SP的命令都是DELIVER命令,SP用SUBMIT命令通過USSDC把消息傳給RTU,。DELIVER和SUMBIT都是 SMPP與CMPP中的命令類型,,具體數(shù)據(jù)格式可參見SMPP或CMPP協(xié)議。在USSD應(yīng)用中有一個字段的數(shù)據(jù)是短消息應(yīng)用中沒有用到的,,用來說明DELIVER和SUBMIT的命令參數(shù),,在CMPP中是Service_Id,在SMPP中是Servid_Type,在本文中稱為USSD_TYPE,,易于理解,。不同的交換機使用的USSD_TYPE內(nèi)容可能不一樣,這里以新疆移動使用的USSD服務(wù)器為例說明。
?
??? (1)終端或手機撥打運營商提供的服務(wù)號(例:*139*1#),,通過USSDC發(fā)送給SP一條請求連接命令DELIVER(REQUEST_CONNECT),,USSD_TYPE參數(shù)的內(nèi)容為“PSSRR”,傳送一個移動到應(yīng)用的會話請求,。
??? (2)SP收到后發(fā)送SUBMIT(REPLY),,USSD_TYPE的內(nèi)容為“USSRR”,RTU收到信息后即與SP建立起一次會話連接,,SP在此命令中把消息發(fā)送到手機上,,可以提供直觀的菜單方式讓用戶決定下一步的操作,如在新疆烏魯木齊運行的監(jiān)控系統(tǒng)中,,把某些相關(guān)人員的手機設(shè)定后,,這些手機就可以通過撥打?qū)S梅?wù)號,與監(jiān)控中心建立起一次會話連接,。手機上馬上會顯示“歡迎進入本系統(tǒng):1.系統(tǒng)介紹,;2.數(shù)據(jù)查詢;3.故障查詢;4.退出”。
??? (3)用戶可通過菜單提示按鍵來獲得想要的服務(wù),USSDC收到請求后向SP發(fā)送 DELIVER(SERVICE_REQUEST),,USSD_TYPE為“USSRC”,,傳送從移動到應(yīng)用的一個USSR相應(yīng),用戶的回復信息可在此命令中傳給SP,。如第(2)步驟,,手機可按“1“鍵向SP發(fā)送進入系統(tǒng)介紹界面的請求。
??? (4)SP收到請求后,,與第(2)步驟一樣,,發(fā)送SUBMIT(REPLY)命令,將系統(tǒng)介紹文字菜單發(fā)送到手機上,,用戶可重復在第(3)和第(4)步驟間多次交互,,獲取想要的信息。
??? (5)最后完成手機發(fā)出斷開請求,,如在主菜單上按“4”選擇退出,,USSDC發(fā)送DELIVER(RELC)命令給SP,USSD_TYPE為“RELC”,,傳送結(jié)束會話命令給SP,。
??? (6)SP發(fā)送SUBMIT(FINISH)命令,USSD_TYPE為“USSNR”,在該命令中附帶“歡迎再次使用”等結(jié)束語的消息,,手機收到后與SP結(jié)束一次會話過程,。也可以由SP發(fā)送SUBMIT(RELR),USSD_TYPE為“RELR”,,主動斷開會話,。
??? 在整個通信過程中,RTU與SP保持連接,直接對話,,速度比短消息快得多,。用戶只需撥打?qū)S锰柎a,就可以根據(jù)菜單進行下一步操作,,進行遠程訪問并查詢各個遠程監(jiān)控終端的數(shù)據(jù)和故障,,及時掌握第一手資料。當然也可根據(jù)用戶要求,,在SP的程序中加入遠程遙控或其它擴展功能,。
4.2? SP發(fā)起的連接
??? 在工業(yè)應(yīng)用中,大部分的通信過程是由監(jiān)控中心發(fā)起的,,下面終端發(fā)起的會話主要是一些突發(fā)事件(開機申請,、主動報警等)。一些平時主要的通信任務(wù)(遙測,、遙控等)都是由監(jiān)控中心發(fā)起的,,終端收到后給予回應(yīng),尤其是一些應(yīng)急處理更需要由監(jiān)控中心主動發(fā)起,。這種會話方式的實現(xiàn)需詢問當?shù)匾苿舆\行商是否支持,。
??? ?如圖3,結(jié)合一次遙測數(shù)據(jù)來說明SP發(fā)起的會話通信流程,。
?
??? (1)在監(jiān)控中心發(fā)起的會話連接過程中,,監(jiān)控中心先把連接請求發(fā)送到USSDC,發(fā)送SUBMIT(REQUEST_CONNECT),,USSD_TYPE為“OPENR”, 表示SP希望打開一個與RTU的新對話,。
??? (2)USSDC收到后回復DELIVER(REPLY_CONNECT),,USSD_TYPE為“OPENC”,表示USSDC接受SP打開一個與移動用戶的新對話的請求,,此時并不表示已經(jīng)成功地與移動用戶建立起該對話。
??? (3)SP收到USSDC的會話請求回應(yīng)后發(fā)送SUBMIT(COMMAND),,USSD_TYPE為“USSRR”,,在該命令的消息體中帶著自定義通信規(guī)約的數(shù)據(jù),即向終端發(fā)送遙測命令,。
??? (4)終端在收到遙測命令后,,一次會話已經(jīng)成功建立,終端采集數(shù)據(jù)后,,用與短消息類似的方式將數(shù)據(jù)發(fā)送到USSDC,,USSDC將數(shù)據(jù)放到DELIVER的消息體中,以DELIVER(REPLY)命令發(fā)送給SP,,USSD_TYPE是“USSRC”,。
??? (5)監(jiān)控中心收到數(shù)據(jù)后處理數(shù)據(jù),發(fā)送SUBMIT(RELR),USSD_TYPE為“RELR”,,斷開這次會話,,完成一次遙測操作。
??? 在某些工業(yè)應(yīng)用中,,如在集中監(jiān)控中,,有時需要在短時間對一組監(jiān)控終端進行同一操作, 由于每次會話中包含一定的等待回應(yīng)的時間,如果對每一個終端都一個個單獨操作,,那么所有終端操作下來將需要耗費不少的時間,,這樣就不能保證操作響應(yīng)的及時性。鑒于USSDC具有可以同時建立多個連接的功能以及在一次會話中,,如在時間T內(nèi)監(jiān)控中心與終端之間無通信量(T可以由服務(wù)器廠商或移動設(shè)置,,如新疆移動設(shè)為10s),USSDC可以將全部終端分為若干組,,同一組終端都先全部建立好連接,,再一個個發(fā)送數(shù)據(jù),這樣就可以減少等待回應(yīng)的時間,,提高操作的效率,。
?? ?在我國,USSD在工業(yè)上的應(yīng)用剛剛興起,,由中國電子科技集團公司第五十研究所開發(fā)的無線遠程監(jiān)控系統(tǒng)采用了USSD為主,、短消息為輔的通信方式,已經(jīng)在新疆烏魯木齊市成功運營,。該系統(tǒng)USSD協(xié)議采用SMPP 3.4,。另外,在其它幾個城市的遠程監(jiān)控系統(tǒng)中,,也采用了USSD為主的通信方式,,在有些地方采用CMPP 2.0協(xié)議,協(xié)議的采用主要是與當?shù)氐倪\營商配合協(xié)商而定,。
參考文獻
1 中國移動通信集團公司.中國移動通信互聯(lián)網(wǎng)短信網(wǎng)關(guān)接口協(xié)議(CMPP) v2.0[S].2002,4
2 SMPP Developers Forum. Short Message Peer to Peer Protocol Specification v3.4[S].Issue 1.2.1999
3 中國移動通信集團公司.中國移動通信USSD業(yè)務(wù)接口協(xié)議[S].2003