一種短信收發(fā)系統設計與實(shí)現
1.引言
本文引用地址:http://dyxdggzs.com/article/155186.htm全球移動(dòng)通訊系統Global System of Mobile communicaTION就是眾所周知的GSM,是當前應用最為廣泛的移動(dòng)電話(huà)標準。全球超過(guò)200個(gè)國家和地區超過(guò)10億人正在使用GSM電話(huà)。GSM標準的無(wú)處不在使得在移動(dòng)電話(huà)運營(yíng)商之間簽署漫游協(xié)定后用戶(hù)的國際漫游變得很平常。GSM 較之它以前的標準最大的不同是他的信令和語(yǔ)音信道都是數字式的,因此GSM被看作是第二代 (2G)移動(dòng)電話(huà)系統。這說(shuō)明數字通訊從很早就已經(jīng)構建到系統中。GSM是一個(gè)當前由3GPP開(kāi)發(fā)的開(kāi)放標準。同時(shí)嵌入式系統是“控制、監視或者輔助裝置、機器和設備運行的裝置”。從中可以看出嵌入式系統是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。目前國內一個(gè)普遍被認同的定義是:以應用為中心、以計算機技術(shù)為基礎、軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專(zhuān)用計算機系統。
SMS 是一種存儲和轉發(fā)服務(wù)。也就是說(shuō),短消息并不是直接從發(fā)送人發(fā)送到接收人,而始終通過(guò) SMS 中心進(jìn)行轉發(fā)。如果接收人處于未連接狀態(tài)(可能電話(huà)已關(guān)閉),則消息將在接收人再次連接時(shí)發(fā)送。短信息應用于內部管理,業(yè)務(wù)系統和客戶(hù)服務(wù)系統: A公司在全國已有100多個(gè)業(yè)務(wù)劃分區域,日常工作中有大量諸如新商品信息、價(jià)格調整等業(yè)務(wù)資訊需要及時(shí)提供給所有區域經(jīng)理,在應用短信息之前,主要通過(guò)電話(huà)或Email來(lái)完成這些事情,需要投入大量的人力來(lái)完成這些工作,并且還經(jīng)常由于各種因素的影響而出現延誤的現象,現在用短信息則可以快捷和輕松地完成這部分工作。涉及SMS管理的協(xié)議如圖1所示。
圖中SME為短信實(shí)體, SMSC為短信服務(wù)中心,SMCGWMS為SMS網(wǎng)關(guān),HLR是歸屬位置寄存器,用于永久儲存管理用戶(hù)和服務(wù)記錄的數據庫,MSC為移動(dòng)交換中心,VLR為訪(fǎng)問(wèn)位置寄存器,含有用戶(hù)臨時(shí)信息的數據庫,交換中心服務(wù)訪(fǎng)問(wèn)用戶(hù)時(shí)需要這些信息。
短消息模塊的接入方式支持兩種模式:基于A(yíng)T指令的teXT模式和基于A(yíng)T指令的PDU模式,它指的是短信息數據的編碼格式,文本模式只支持7-bit編碼,只能發(fā)送純英文和數字信息,而PDU模式支持7-bit編碼、8-bit編碼和UCS-2編碼,其中后者可進(jìn)行Unicode編碼。
GSM模塊采用標準AT指令集通信,其中本系統用到的AT指令如表1所示。
表1 相關(guān)AT指令
3.GSM短信數據格式分析
3.1發(fā)送短信PDU字符串
由于短信模式選擇的是PDU格式,因此對PDU的編碼和轉碼就變得很重要。中文短信息的實(shí)現需要將GB2312的中文編碼轉換為代碼頁(yè)為CP936的Unicode編碼,PDU發(fā)送字符串數據格式中主要由短信中心地址、文件頭字節、信息類(lèi)型、目的地址、協(xié)議標識、數據編碼方案、有效期、用戶(hù)數據長(cháng)度和用戶(hù)數據組成。代碼的含義如下所示:
08H:短信服務(wù)中心地址信息的長(cháng)度,共8個(gè)八位字節(包括91) ;
91H:短信服務(wù)中心地址格式,用國際格式號碼,在前面加‘+’ ;
68 31 08 20 01 05 F0H:短信服務(wù)中心地址,8613800210500,補‘F’湊成偶數個(gè);
11H:基本參數,協(xié)議數據單元類(lèi)型,表示發(fā)送,TP-VP用相對格式;
00H :信息參考,00H表示參考本身號碼 ;
0DH :對方手機號數字個(gè)數,共13個(gè)十進(jìn)制數 ;
91H :對方手機號,用國際格式號碼,在前面加‘+’ ;
68 31 21 43 65 87 F9H:對方手機號(TP-DA),8613123456789,補‘F’湊成偶數個(gè);
00H:協(xié)議標識(TP-PID),是普通GSM類(lèi)型,點(diǎn)到點(diǎn)方式;
08H:用戶(hù)信息編碼方式(TP-DCS),主要用其1個(gè)字節的第2和第3位表示編碼方式,08H表示為UCS-2編碼,最多發(fā)140個(gè)字符;04H為8-bit編碼,最多發(fā)140個(gè)字符;00H為7-bit編碼,最多發(fā)160個(gè)字符;
00H:有效期(TP-VP),5分鐘;
04H:短信長(cháng)度(TP-UDL),實(shí)際長(cháng)度4個(gè)字節;
4F 60 59 7DH:用戶(hù)信息(TP-UD),“你好”的Unicode編碼 。
3.2 短信接收PDU字符串
接收方PDU字符串的含義和發(fā)送方不同,同樣以“你好”為例,接收方的PDU字符串為:08 91 68 31 08 20 01 05 F0 24 0D 91 68 31 67 24 47 63 F0 00 08 70 50 91 31 21 25 23 04 4F 60 59 7DH,其含義如下:
08 91 68 31 08 20 01 05 F0H:短信服務(wù)中心,分析同發(fā)送相同;
24H:協(xié)議數據單元類(lèi)型基本參數(TP-MTI/VFP) ,發(fā)送,TP-VP用相對格式;
0DH:對方手機號數字個(gè)數;
91H:對方手機號(TON/NPI),用國際格式號碼(在前面加‘+’);
68 31 67 24 47 63 F0H :對方手機號(TP-DA),8613764274360,補‘F’湊成偶數個(gè);
00H:協(xié)議標識(TP-PID) ,是普通GSM類(lèi)型,點(diǎn)到點(diǎn)方式;
08H:用戶(hù)信息編碼方式(TP-DCS) ,分析同發(fā)送方;
評論