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