一级做a爱片久久毛片潮喷妓女-大香蕉在线一区二区三区-无人区一码二码三码区别-国产欧美日韩综合精品久久一区

15225080030

微信/電話同號(hào)

短信SMS開(kāi)發(fā)基礎(chǔ),SMSPDU,SubmitPDU,DeliverPDU組成結(jié)構(gòu)說(shuō)明

admin2022-03-06 08:43:33493

無(wú)紡布廠家15838056980目錄內(nèi)容目錄內(nèi)容 20. 修改記錄 31. 短信概念 42. 短信分類 52.1. TEXT短信 52.2. PDU短信 53. 短信應(yīng)用 63.1. 發(fā)送短信 63.1.1. TEXT短信方式 63.1.2. PDU短信方式 63.2. 編寫(xiě)短信 73.2.1. TEXT短信方式 73.2.2. PDU短信方式 73.3. 轉(zhuǎn)發(fā)短信 83.4. 讀取短信 93.4.1. TEXT短信方式 93.4.2. PDU短信方式 93.5. 刪除短信 103.5.1. TEXT短信方式 103.5.2. PDU短信方式 114. PDU串無(wú)紡布廠家15838056980分類及結(jié)構(gòu) 124.1. SUBMIT-PDU 124.1.1. 結(jié)構(gòu) 124.1.2. 說(shuō)明 124.1.3. 舉例分析 154.2. DELIVER-PDU 164.2.1. 結(jié)構(gòu) 174.2.2. 說(shuō)明 174.2.3. 舉例分析 195. 短信工作過(guò)程 225.1. 設(shè)備之間的交互過(guò)程 225.2. 平臺(tái)的消息處理過(guò)程 235.2.1. 發(fā)送短信 235.2.2. 接收短信 230. 修改記錄版本日期作者修改內(nèi)容記錄1.02012-08-10Vicent.Gao初始版本,講述了短信的基本操作,及PDU串的結(jié)構(gòu)2.02012-08-17Vicent.Gao加入新的一章:第5章 “短信工作過(guò)程”1. 短信概念短消息,即SMS,英文全稱short message service,是一種使用手機(jī)發(fā)送和接收有限長(zhǎng)度文本信息的通訊服務(wù);更加詳細(xì)的介紹,請(qǐng)查看鏈接: 短信分類在用戶使用的角度看,短信共分為2類,分別是TEXT短信、PDU短信。在寫(xiě)短信、發(fā)送短信時(shí),可以選擇使用TEXT短信方式,也可以選擇使用PDU短信方式;在讀取短信時(shí),可以選擇使用TEXT短信方式,無(wú)紡布廠家15838056980也可以使用PDU短信方式;編寫(xiě)的短信、接收的短信,實(shí)際是以PDU短信方式存儲(chǔ)在ME或SM中;在發(fā)送短信時(shí),實(shí)際是以PDU短信方式發(fā)往SCA,再由SCA轉(zhuǎn)發(fā)至對(duì)方手機(jī);2.1 TEXT短信以可讀的方式,編寫(xiě)、發(fā)送、讀取短信。在編寫(xiě)短信、發(fā)送短信時(shí),需要內(nèi)部轉(zhuǎn)換成PDU模式,才能進(jìn)行存儲(chǔ)、發(fā)送。如:AT+CMGR=1+CMGR: "REC UNREAD","+25","","2012/08/10 10:56:08+32"OK2.2 PDU短信根據(jù)指定的PDU格式,填充必要的域,如<SCA>, <FO>,<DCS>等,不需要內(nèi)部進(jìn)行轉(zhuǎn)換,可以直接進(jìn)行存儲(chǔ)或發(fā)送。也可以使用PDU短信方式,讀取編寫(xiě)和接收的短信。如:AT+CMGR=1+CMGR: 1,,F0040D323FAB0986C46ABD96EB81COK3. 短信應(yīng)用客戶在使用短信功能時(shí),可以完成發(fā)送短信、編寫(xiě)短信、轉(zhuǎn)發(fā)短信、讀取短信、刪除短信的操作。3.1 發(fā)送短信3.1.1 TEXT短信方式AT+CMGF=1 //設(shè)置使用TEXT短信方式OKAT+CSCS="GSM" //設(shè)置編輯短信時(shí),使用的字符集OKAT+CMGS="" //使用CMGS發(fā)送短信給自身,此處需要填寫(xiě)DA,即目標(biāo)地址>//按<CTRL+Z>開(kāi)始發(fā)送短信+CMGS: 28 //短信已發(fā)送,MR=28,其中MR為Messge Reference,用來(lái)唯一標(biāo)識(shí)一條短信OK //短信發(fā)送成功+CMTI: "SM",1 //接收到的短信,存儲(chǔ)在SM中,索引號(hào)為1的位置上參考的QCOM Script,無(wú)紡布廠家15838056980無(wú)紡布廠家15838056980請(qǐng)見(jiàn)壓縮包路徑:QCOM_Script\CMGS\CMGS_TEXT.ini3.1.2 PDU短信方式AT+CMGF=0 //設(shè)置使用PDU短信方式OKAT+CMGS=24 //使用CMGS發(fā)送短信給自身,此處需要填寫(xiě)TPDU串的長(zhǎng)度,即PDU串中除去SCA域之后的數(shù)據(jù)長(zhǎng)度,以Byte為單位> 01505FD323FA0AB0986C46ABD96EB81C //按<CTRL+Z>開(kāi)始發(fā)送短信+CMGS: 29 //短信已發(fā)送,MR=29,其中MR為Messge Reference,用來(lái)唯一標(biāo)識(shí)一條短信OK //短信發(fā)送成功+CMTI: "SM",2 //接收到的短信,存儲(chǔ)在SM中,索引號(hào)為2的位置上參考的QCOM Script,請(qǐng)見(jiàn)壓縮包路徑:QCOM_Script\CMGS\CMGS_PDU.ini3.2 編寫(xiě)短信3.2.1 TEXT短信方式AT+CMGF=1 //設(shè)置使用TEXT短信方式OKAT+CSCS="GSM" //設(shè)置編輯短信時(shí),使用的字符集OKAT+CMGW //使用CMGW編寫(xiě)短信,沒(méi)有指明DA,即目標(biāo)地址,也可以在命令中指明>//按<CTRL+Z>開(kāi)始存儲(chǔ)短信+CMGW: 5 //編寫(xiě)的短信,存儲(chǔ)在索引號(hào)為5的位置上OK //編寫(xiě)短信成功參考的QCOM Script,請(qǐng)見(jiàn)壓縮包路徑:QCOM_Script\CMGW\CMGW_TEXT.ini3.2.2 PDU短信方式AT+CMGF=0 //設(shè)置使用PDU短信方式OKAT+CMGW=17 //使用CMGW編寫(xiě)短信,此處需要填寫(xiě)TPDU串的長(zhǎng)度,即PDU串中除去SCA域之后的數(shù)據(jù)長(zhǎng)度,以Byte為單位> 0011FFAB0986C46ABD96EB81C //按<CTRL+Z>開(kāi)始存儲(chǔ)短信+CMGW: 7 //編寫(xiě)的短信,存儲(chǔ)在索引號(hào)為7的位置上OK //編寫(xiě)短信成功參考的QCOM Script,請(qǐng)見(jiàn)壓縮包路徑:QCOM_Script\CMGW\CMGW_PDU.ini3.3 轉(zhuǎn)發(fā)短信需要無(wú)紡布廠家15838056980指明短信存儲(chǔ)時(shí)使用的索引號(hào),才能完成轉(zhuǎn)發(fā)操作。由于短信在存儲(chǔ)時(shí),都是以PDU短信方式來(lái)進(jìn)行存儲(chǔ)的,所以此命令與使用的短信方式(TEXT或PDU)無(wú)關(guān)。AT+CMGF=0 //設(shè)置使用TEXT短信方式OKAT+CSCS="GSM" //設(shè)置編輯短信時(shí),使用的字符集OKAT+CMSS=7,"" //使用CMSS轉(zhuǎn)發(fā)短信給自身,此無(wú)紡布廠家15838056980短信存儲(chǔ)在索引號(hào)為7的位置上,此處指明了DA,即目標(biāo)地址+CMSS: 30 //短信已發(fā)送,MR=29,其中MR為Messge Reference,用來(lái)唯一標(biāo)識(shí)一條短信OK //短信發(fā)送成功+CMTI: "SM",9 //接收到的短信,存儲(chǔ)在SM中,索引號(hào)為9的位置上AT+CMGF=1 //設(shè)置使用PDU短信方式OKAT+CSCS="GSM" //設(shè)置編輯短信時(shí),使用的字符集OKAT+CMSS=7,"" //使用CMSS轉(zhuǎn)發(fā)短信給自身,此短信存儲(chǔ)在索引號(hào)為7的位置上,此處指明了DA,即目標(biāo)地址+CMSS: 31 //短信已發(fā)送,MR=29,其中MR為Messge Reference,用來(lái)唯一標(biāo)識(shí)一條短信OK //短信發(fā)送成功+CMTI: "SM",10 //接收到的短信,存儲(chǔ)在SM中,索引號(hào)為10的位置上注:在TEXT短信方式、PDU短信方式下,轉(zhuǎn)發(fā)同一條短信,都可以成功發(fā)送,則說(shuō)明CMSS轉(zhuǎn)發(fā)短信與具體采用的短信方式(使用CMGF命令設(shè)置)無(wú)關(guān)。參考的QCOM Script,請(qǐng)見(jiàn)壓縮包路徑:QCOM_Script\CMSS\CMSS.ini3.4 讀取短信使用CMGD讀取單條短信,使用CMGL讀取某一類別的短信。3.4.1 TEXT短信方式AT+CMGF=1 //設(shè)置使用TEXT短信方式OKAT+CMGR=1 //使用CMGR命令,讀取索引號(hào)1位置上的短信+CMGR: "REC UNREAD","+25","","2012/08/10 10:56:08+32" //在TEXT短信方式下,列出的短信內(nèi)容OKAT+CMGL=? //使用CMGL讀取指定類別的短信,在TEXT短信方式下,查詢CMGL命令的用法+CMGL: ("REC UNREAD","REC READ","STO UNSENT","STO SENT","ALL") //在TEXT短信方式下,使用String方式來(lái)指明要讀取短信的類別OKAT+CMGL="STO UNSENT" //顯示所有未發(fā)送的短信+CMGL: 3,"STO UNSENT","","", //第1條未發(fā)送短信,存儲(chǔ)在索引號(hào)3位置上+CMGL: 4,"STO UNSENT","","", //第2條未發(fā)送短信,存儲(chǔ)在索引號(hào)4位置上+CMGL: 5,"STO UNSENT","","", //第3條未發(fā)送短信,存儲(chǔ)在索引號(hào)5位置上+CMGL: 6,"STO UNSENT","","", //第4條未發(fā)送短信,存儲(chǔ)在索引號(hào)6位置上OK參考的QCOM Script,請(qǐng)見(jiàn)壓縮包路徑:QCOM_Script\CMGR+CMGL\CMGR+CMGL_TEXT.ini3.4.2 PDU短信方式AT+CMGF=0 //設(shè)置使用PDU短信方式OKAT+CMGR=1 //使用CMGR命令,讀取索引號(hào)1位置上的短信+CMGR: 1,,F0040D323FAB0986C46ABD96EB81C //在PDU短信方式下,列出的短信內(nèi)容OKAT+CMGL=? //使用CMGL讀取指定類別的短信,在PDU短信方式下,查詢CMGL命令的用法+CMGL: (0-4) //在PDU短信方式下,使用Integer方式來(lái)指明要讀取短信的類別OKAT+CMGL=2 //顯示所有未發(fā)送的短信+CMGL: 3,2,,17 //第1條未發(fā)送短信,存儲(chǔ)在索引號(hào)3位置上0011FFAB0986C46ABD96EB81C+CMGL: 4,2,,23 //第2條未發(fā)送短信,存儲(chǔ)在索引號(hào)4位置上0011FF0B3FAB0986C46ABD96EB81C+CMGL: 5,2,,17 //第3條未發(fā)送短信,存儲(chǔ)在索引號(hào)5位置上0011FFAB0986C46ABD96EB81C+CMGL: 6,2,,17 //第4條未發(fā)送短信,存儲(chǔ)在索引號(hào)6位置上0011FFAB0986C46ABD96EB81COK參考的QCOM Script,請(qǐng)見(jiàn)壓縮包路徑:QCOM_Script\CMGR+CMGL\CMGR+CMGL_PDU.ini3.5 刪除短信在刪除短信時(shí),建議使用CMGD刪除單條命令,使用QMGDA刪除指定類別的短信。當(dāng)然,使用CMGD命令的<delflag>參數(shù),也可以刪除指定類別的短信。3.5.1 TEXT短信方式AT+CMGF=1 //設(shè)置使用TEXT短信方式OKAT+CMGD=1 //使用CMGD刪除索引號(hào)1位置上的短信OKAT+QMGDA=? //使用QMGDA刪除某一類別的短信,在TEXT短信方式下,查詢QMGDA命令的用法+QMGDA:("DEL READ","DEL UNREAD","DEL SENT","DEL UNSENT","DEL INBOX","DEL ALL") //在TEXT短信方式下,使用String方式來(lái)指明要?jiǎng)h除短信的類別OKAT+QMGDA="DEL READ" //刪除所有已讀短信OK參考的QCOM Script,請(qǐng)見(jiàn)壓縮包路徑:QCOM_Script\CMGD+QMGDA\CMGD+QMGDA_TEXT.ini3.5.2 PDU短信方式AT+CMGF=0 //設(shè)置使用PDU短信方式OKAT+CMGD=1 //使用CMGD刪除索引號(hào)1位置上的短信OKAT+QMGDA=? //使用QMGDA刪除某一類別的短信,在PDU短信方式下,查詢QMGDA命令的用法+QMGDA:(1-6) //在PDU短信方式下,使用Integer方式來(lái)指明要?jiǎng)h除短信的類別OKAT+QMGDA=1 //刪除所有已讀短信OK參考的QCOM Script,請(qǐng)見(jiàn)壓縮包路徑:QCOM_Script\CMGD+QMGDA\CMGD+QMGDA_PDU.ini4. PDU串分類及結(jié)構(gòu)在使用PDU短信方式,進(jìn)行短信的發(fā)送、編寫(xiě)、讀取時(shí),對(duì)于PDU串結(jié)構(gòu)的了解是很有必要的。PDU串共有2類,分別是SUBMIT-PDU,DELIVER-PDU,各有不同的結(jié)構(gòu)。4.1 SUBMIT-PDUSUBMIT-PDU,是發(fā)送短信時(shí)采用的PDU串。SUBMIT-PDUSCATPDUDALenTypeAddrFOMRLenTypeAddrPIDDCSVPUDLUDP1P2P3P4P5P6P7P8P9P10P11P12P1310~10~~~1401 ~ 122~124.1.1 結(jié)構(gòu)注:表中的第1行為 表頭部分,說(shuō)明表所要表達(dá)的內(nèi)容;表中的第2行為 PDU串結(jié)構(gòu)中,包含有2大部分;表中的第3行為 PDU串結(jié)構(gòu)中,TPDU部分中再劃分的結(jié)構(gòu);表中的第4行為 PDU串結(jié)構(gòu)中,細(xì)分的每個(gè)部分;表中的第5行為 對(duì)PDU串結(jié)構(gòu)中,細(xì)分的每個(gè)部分,進(jìn)行重新編碼,方便后續(xù)的描述;表中的第6行為 PDU串結(jié)構(gòu)中,細(xì)分的每個(gè)部分,編碼時(shí)占用的字節(jié)數(shù)范圍;表中的第7行為 PDU串結(jié)構(gòu)中,包含的地址區(qū)域,編碼時(shí)占用的字節(jié)數(shù)范圍;4.1.2 說(shuō)明P1P1區(qū)域?qū)儆赟CA無(wú)紡布廠家15838056980無(wú)紡布廠家15838056980域的一部分,固定占有1個(gè)字節(jié),表示SCA域的長(zhǎng)度,實(shí)際上表示的是P2區(qū)域和P3區(qū)域共同占有的字節(jié)數(shù)。當(dāng)P1=0x00時(shí),表示SCA域不存在,此時(shí)平臺(tái)會(huì)從CSCA命令中,讀取需要的短信服務(wù)中心號(hào)碼。P2P2區(qū)域?qū)儆赟CA域的一部分,當(dāng)P1=0x00時(shí),P2區(qū)域?qū)⒉淮嬖?;?dāng)P1!=0x00時(shí),P2 區(qū)域存在,并固定占有1字節(jié)大?。籔2區(qū)域,無(wú)紡布廠家15838056980用于表示短信服務(wù)中心號(hào)碼的類型,可能取得值有:0x91(國(guó)際型),0x81(未知類型),0xA1(國(guó)內(nèi)型)。P3P3區(qū)域?qū)儆赟CA域的一部分,當(dāng)P1=0x00時(shí),P3區(qū)域?qū)⒉淮嬖冢划?dāng)P1!=0x00時(shí),P3 區(qū)域存在,其占有的字節(jié)數(shù)為:P1 – 1。P3區(qū)域,用于存儲(chǔ)短信服務(wù)中心的號(hào)碼,此號(hào)碼采用BCD編碼。P4P4區(qū)域固定占有1個(gè)字節(jié),為T(mén)PDU域的第1個(gè)字節(jié),即First Octet。P4區(qū)域用于設(shè)置PDU串的類型,及其他重要參數(shù)。其結(jié)構(gòu)如下表:SUBMIT-PDU FO (First Octet)RPUDHISRRVPFVPFRDMTIMTI說(shuō)明如下:MTI 2bit消息類型00收01發(fā)RD 1bit重復(fù)信元丟棄0通知服務(wù)中心碰到同源同目的地同樣的MR短消息序號(hào)的短消息接受1拋棄此時(shí)將在短消息提交報(bào)告中返回一個(gè)適當(dāng)?shù)腇CS值VPF 2bit有效期限格式00 VP不存在10 VP區(qū)存在用一個(gè)字節(jié)表示是相對(duì)值01 保留11 存在半個(gè)字節(jié)表示絕對(duì)值SRR 1bit狀態(tài)報(bào)告要求.UDHI 1bit用戶數(shù)據(jù)頭標(biāo)示0用戶數(shù)據(jù)沒(méi)有頭信息1有一般為0RP 1bit是否有回復(fù)路徑的標(biāo)示1有0沒(méi)有一般為0[Vicent.Gao]:無(wú)紡布廠家15838056980后續(xù)會(huì)對(duì)此段內(nèi)容,針對(duì)平臺(tái)中的代碼,進(jìn)行更加詳細(xì)的描述。P5P5區(qū)域固定占有1個(gè)字節(jié),為Message Reference,用于唯一標(biāo)識(shí)一條短信。P6P6區(qū)域?qū)儆贒A域的一部分,固定占有1個(gè)字節(jié),表示DA域的長(zhǎng)度,實(shí)際上表示的是P8區(qū)域含有的BCD碼字符的個(gè)數(shù)。P7P7區(qū)域?qū)儆贒A域的一部分,固定占有1個(gè)字節(jié),表示目標(biāo)地址的類型,可能取得值有:0x91(國(guó)際型),0x81(未知類型),0xA1(國(guó)內(nèi)型)。P8P8區(qū)域?qū)儆贒A域的一部分,當(dāng)P6=0x00時(shí),P8區(qū)域?qū)⒉淮嬖?;?dāng)P6!=0x00時(shí),P8區(qū)域存在,其占有的字節(jié)數(shù)為:P6 / 2。P8區(qū)域用于存儲(chǔ)目的地址號(hào)碼。P9P9區(qū)域固定占有1個(gè)字節(jié),為Protocol Identifier,用于標(biāo)識(shí)一條短信的種類,為文本短信,還是為其他的短信,如Voice Telephone, E-Mail SMS,一般設(shè)置為0x00即可。P10P10區(qū)域固定占有1個(gè)字節(jié),為Data Coding Scheme,表示短信內(nèi)容采用的編碼,及短信的類別(Message Class)。其結(jié)構(gòu)如下表:DCS (Data Coding Scheme)--Bit5Bit4Bit3Bit2Bit1Bit0說(shuō)明如下:Bit7 Bit6一般設(shè)置為00Bit5文本是否壓縮,0表示未壓縮,1表示采用GSM標(biāo)準(zhǔn)壓縮。Bit4是否指定短消息類別,0表示沒(méi)有指定,1表示已指定。Bit3 Bit2指定短信內(nèi)容采用的編碼,00無(wú)紡布廠家15838056980表示默認(rèn)字母表,01表示8bit數(shù)據(jù),10表示UCS編碼,11表示保留。Bit1 Bit0指定短消息類別,00表示Class 0,01表示Class 1,10表示Class 2,11表示Class 3。其中:Class 0,直接顯示到用戶終端;Class 1,短消息存儲(chǔ)在SIM卡上;Class 2,短消息必須存儲(chǔ)在SIM卡上禁止直接傳輸?shù)浇K端;Class 3,短消息存貯在用戶設(shè)備上;平臺(tái)解碼方法:smsal_decode_dcsP11P11區(qū)域,固定占有1個(gè)字節(jié),即Validiy Period,用于表示短信服務(wù)中心在收到短信后,最長(zhǎng)可以暫存的時(shí)間,過(guò)了有效時(shí)間之后,如果這條短信仍然沒(méi)有被短信服務(wù)中心轉(zhuǎn)發(fā)出去,那么將會(huì)被短信服務(wù)中心丟棄。有效時(shí)間,分為2種格式,相對(duì)格式和絕對(duì)格式,一般都采用相對(duì)格式。相對(duì)格式的有效時(shí)間計(jì)算方法如表:VP計(jì)算方法00 – 8F(VP+1)*5 分鐘 從 5 分鐘間隔到 12 個(gè)小時(shí)90 – A712 小時(shí) + (VP – 143)*30 分鐘A8 – C4(VP – 166) * 1 天C5 – FF(VP – 192) * 1 周P12P12區(qū)域,固定占有1個(gè)字節(jié),即User Data Length,表示用戶數(shù)據(jù)長(zhǎng)度。當(dāng)短信內(nèi)容采用GSM-7bit編碼時(shí),其表示P13區(qū)域含有的有效字符的個(gè)數(shù);當(dāng)短信內(nèi)容采用其他編碼時(shí),如UCS2,其表示P13區(qū)域含有的字節(jié)數(shù);P13當(dāng)P12=0x00時(shí),P13無(wú)紡布廠家15838056980區(qū)域不存在;當(dāng)P12!=0x00時(shí),P13區(qū)域存在,用于存儲(chǔ)用戶實(shí)際發(fā)送的短信內(nèi)容。P13區(qū)域最大只有140字節(jié)的空間可供利用,當(dāng)短信內(nèi)容采用GSM-7bit編碼時(shí),其最大可以存儲(chǔ)140 + 140 / 7 = 160個(gè)字符;當(dāng)短信內(nèi)容采用UCS2編碼時(shí),其最大可以存儲(chǔ)140 / 2 = 70個(gè)字符,如漢字字符。4.1.3 舉例分析SUBMIT-PDU串如下:01505FD323FA0AB0986C46ABD96EB81C拆分如下:08 91 5F0 11 00 0D 91 3F5 00 00 0A 0A B0986C46ABD96EB81C08 91 5F0 11 00 0D 91 3F5 00 00 AA 0A B0986C46ABD96EB81C如表:P1/SCA LenP2/SCA TypeP3/SCA AddrP4/FOP5/MR01505F01100P6/DA LenP7/DA TypeP8/DA AddrP9/PIDP10/DCS0D323F50000P11/VPP12/UDLP13/UD0A0AB0986C46ABD96EB81C分析結(jié)果:P1內(nèi)容:08解析:SCA域長(zhǎng)度為8個(gè)字節(jié),即P2區(qū)域和P3區(qū)域總共的區(qū)域有8個(gè)字節(jié),其中P2區(qū)域固定占用1個(gè)字節(jié),P3區(qū)域占用7個(gè)字節(jié)。P2內(nèi)容:91解析:短信服務(wù)中心號(hào)碼為國(guó)際型。P3內(nèi)容:5F0解析:短信服務(wù)中心號(hào)碼為:00P4內(nèi)容:11解析:此PDU類型為SUBMIT-PDU,采用相對(duì)有效期格式。P5內(nèi)容:00解析:Messge Reference,即短消息發(fā)送參考號(hào),采用默認(rèn)值00。P6內(nèi)容:0D解析:DA域長(zhǎng)度為0D/02=7個(gè)字節(jié),含有0D=14個(gè)BCD碼字符,即P8區(qū)域占有7個(gè)字節(jié),含有14個(gè)BCD碼字符。P7內(nèi)容:91解析:目的地址號(hào)碼類型為國(guó)際型。P8內(nèi)容:3F5解析:目的地址號(hào)碼為:25P9內(nèi)容:00解析:Protocol Identifier,采用默認(rèn)值00,即普通文本短消息。P10內(nèi)容:00解析:Data Coding Scheme,采用默認(rèn)值00,即GSM-7bit編碼,Class 1類型。P11內(nèi)容:0A解析:無(wú)紡布廠家15838056980短消息在短信服務(wù)中心存儲(chǔ)的有效時(shí)間為:(0A + 1) * 5 = 55分鐘。P12內(nèi)容:0A解析:由于采用GSM-7bit編碼,所以此處表示P13區(qū)域內(nèi)含有10個(gè)字符。P13內(nèi)容:B0986C46ABD96EB81C解析:通過(guò)對(duì)GSM-7bit編碼內(nèi)容進(jìn)行解碼,得知短信內(nèi)容為:4.2 DELIVER-PDUDELIVER-PDU,是接收到的短信采用的PDU串。4.2.1 結(jié)構(gòu)DELIVER-PDUSCATPDUOALenTypeAddrFOLenTypeAddrPIDDCSSCSTUDLUDP1P2P3P4P5P6P7P8P9P10P11P12116~~~1408~ 128~12注:表中的第1行為 表頭部分,說(shuō)明表所要表達(dá)的內(nèi)容;表中的第2行為 PDU串結(jié)構(gòu)中,包含有2大部分;表中的第3行為 PDU串結(jié)構(gòu)中,TPDU部分中再劃分的結(jié)構(gòu);表中的第4行為 PDU串結(jié)構(gòu)中,細(xì)分的每個(gè)部分;表中的第5行為 對(duì)PDU串結(jié)構(gòu)中,細(xì)分的每個(gè)部分,進(jìn)行重新編碼,方便后續(xù)的描述;表中的第6行為 PDU串結(jié)構(gòu)中,細(xì)分的每個(gè)部分,編碼時(shí)占用的字節(jié)數(shù)范圍;表中的第7行為 PDU串結(jié)構(gòu)中,包含的地址區(qū)域,編碼時(shí)占用的字節(jié)數(shù)范圍;4.2.2 說(shuō)明P1P1區(qū)域?qū)儆赟CA域的一部分,固定占有1個(gè)字節(jié),表示SCA域的長(zhǎng)度,實(shí)際上表示的是P2區(qū)域和P3區(qū)域共同占有的字節(jié)數(shù)。P2P2區(qū)域?qū)儆赟CA域的一部分,固定占有1個(gè)字節(jié),用于表示短信服務(wù)中心號(hào)碼的類型,可能取得值有:0x91(國(guó)際型),0x81(未知類型),0xA1(國(guó)內(nèi)型)。P3P3區(qū)域?qū)儆赟CA域的一部分,其占有的字節(jié)數(shù)為:P1 – 1,用于存儲(chǔ)短信服務(wù)中心的號(hào)碼,此號(hào)碼采用BCD編碼。P4P4區(qū)域固定占有1個(gè)字節(jié),為T(mén)PDU域的第1個(gè)字節(jié),即First Octet。P4區(qū)域用于設(shè)置PDU串的類型,及其他重要參數(shù)。其結(jié)構(gòu)如下表:DELIVER-PDU FO (First Octet)RPUDHISRI--MMSMTIMTI說(shuō)明如下:MTI 2bit消息類型00收01發(fā)MMS 1bit短消息服務(wù)中心是否有更多短消息等待移動(dòng)臺(tái)1有0無(wú)默認(rèn)為1SRI 1bit狀態(tài)報(bào)告標(biāo)示0不需要狀態(tài)返回到移動(dòng)設(shè)備1需要默認(rèn)為0UDHI 1bit用戶數(shù)據(jù)頭標(biāo)示0用戶數(shù)據(jù)沒(méi)有頭信息1有一般為0RP 1bit是否有回復(fù)路徑的標(biāo)示1有0沒(méi)有一般為0[Vicent.Gao]:后續(xù)會(huì)對(duì)此段內(nèi)容,針對(duì)平臺(tái)中的代碼,進(jìn)行更加詳細(xì)的描述。P5P5區(qū)域?qū)儆贠A域的一部分,固定占有1個(gè)字節(jié),表示DA域的長(zhǎng)度,實(shí)際上表示的是P7區(qū)域含有的BCD碼字符的個(gè)數(shù)。P6P6區(qū)域?qū)儆贒A域的一部分,固定占有1個(gè)字節(jié),表示目標(biāo)地址的類型,可能取得值有:0x91(國(guó)際型),0x81(未知類型),0xA1(國(guó)內(nèi)型)。P7P7區(qū)域?qū)儆贒A域的一部分,其占有的字節(jié)數(shù)為:P5 / 2,用于存儲(chǔ)發(fā)送方的號(hào)碼。P8P8區(qū)域固定占有1個(gè)字節(jié),為Protocol Identifier,用于標(biāo)識(shí)一條短信的種類,為文本短信,還是為其他的短信,如Voice Telephone, E-Mail SMS,一般都為0x00,即普通文本短信。P9P9區(qū)域固定占有1個(gè)字節(jié),為Data Coding Scheme,表示短信內(nèi)容采用的編碼,及短信的類別(Message Class)。其結(jié)構(gòu)如下表:DCS (Data Coding Scheme)--Bit5Bit4Bit3Bit2Bit1Bit0說(shuō)明如下:Bit7 Bit6一般設(shè)置為00Bit5文本是否壓縮,0表示未壓縮,1表示采用GSM標(biāo)準(zhǔn)壓縮。Bit4是否指定短消息類別,0表示沒(méi)有指定,1表示已指定。Bit3 Bit2指定短信內(nèi)容采用的編碼,00表示默認(rèn)字母表,01表示8bit數(shù)據(jù),10表示UCS編碼,11表示保留。Bit1 Bit0指定短消息類別,00表示Class 0,01表示Class 1,10表示Class 2,11表示Class 3。其中:Class 0,直接顯示到用戶終端;Class 1,短消息存儲(chǔ)在SIM卡上;Class 2,短消息必須存儲(chǔ)在SIM卡上禁止直接傳輸?shù)浇K端;Class 3,短消息存貯在用戶設(shè)備上;平臺(tái)解碼方法:smsal_decode_dcsP10P10區(qū)域固定占有7個(gè)字節(jié),即Serive Center Time Stamp,用于存儲(chǔ)SCA轉(zhuǎn)發(fā)該條短信的時(shí)間戳。其結(jié)構(gòu)如下表:SCTS年月日時(shí)無(wú)紡布廠家15838056980分秒時(shí)區(qū)說(shuō)明如下:假設(shè)P10區(qū)域?yàn)椋?23,再拆分成:21 80 01 01 65 80 23,則表示SCTS為:12年 08月 10日 10時(shí) 56分 08秒 32時(shí)區(qū)P11P11區(qū)域,固定占有1個(gè)字節(jié),即User Data Length,表示用戶數(shù)據(jù)長(zhǎng)度。當(dāng)短信內(nèi)容采用GSM-7bit編碼時(shí),其表示P12區(qū)域含有的有效字符的個(gè)數(shù);當(dāng)短信內(nèi)容采用其他編碼時(shí),如UCS2,其表示P12區(qū)域含有的字節(jié)數(shù);P12當(dāng)P11=0x00時(shí),P12區(qū)域不存在;當(dāng)P11!=0x00時(shí),P12區(qū)域存在,用于存儲(chǔ)用戶實(shí)際發(fā)送的短信內(nèi)容。P12區(qū)域最大只有140字節(jié)的空間可供利用,當(dāng)短信內(nèi)容采用GSM-7bit編碼時(shí),其最大可以存儲(chǔ)140 + 140 / 7 = 160個(gè)字符;當(dāng)短信內(nèi)容采用UCS2編碼時(shí),其最大可以存儲(chǔ)140 / 2 = 70個(gè)字符,如漢字字符。4.2.3 舉例分析DELIVER-PDU串如下:01505F0040D323FAB0986C46ABD96EB81C拆分如下:08 91 5F0 04 0D 91 3F5 00 00 023 0A B0986C46ABD96EB81C如表:P1/SCA LenP2/SCA TypeP3/SCA AddrP4/FOP5/OA Len01505F0040DP6/OA TypeP7/OA AddrP8/PIDP9/DCSP10/SCTS323F50000023P11/UDLP12/UD0AB0986C46ABD96EB81C分析結(jié)果:P1內(nèi)容:08解析:SCA域長(zhǎng)度為8個(gè)字節(jié),即P2區(qū)域和P3區(qū)域總共的區(qū)域有8個(gè)字節(jié),其中P2區(qū)域固定占用1個(gè)字節(jié),P3區(qū)域占用7個(gè)字節(jié)。P2內(nèi)容:91解析:短信服務(wù)中心號(hào)碼為國(guó)際型。P3內(nèi)容:5F0解析:短信服務(wù)中心號(hào)碼為:00P4內(nèi)容:04解析:此PDU類型為DELIVER-PDU。P5內(nèi)容:0D解析:OA域長(zhǎng)度為0D/02=7個(gè)字節(jié),含有0D=14個(gè)BCD碼字符,即P7區(qū)域占有7個(gè)字節(jié),含有14個(gè)BCD碼字符。P6內(nèi)容:91解析:發(fā)送方號(hào)碼類型為國(guó)際型。P7內(nèi)容:3F5解析:發(fā)送方號(hào)碼為:25P8內(nèi)容:00解析:Protocol Identifier,采用默認(rèn)值00,即普通文本短消息。P9內(nèi)容:00解析:Data Coding Scheme,采用默認(rèn)值00,即GSM-7bit編碼,Class 1類型。P10內(nèi)容:023解析:短消息服務(wù)中心在轉(zhuǎn)發(fā)此條短信的時(shí)間戳為:2012年08月10日10時(shí)56分08秒。P11內(nèi)容:0A解析:由于采用GSM-7bit編碼,所以此處表示P12區(qū)域內(nèi)含有10個(gè)字符。P12內(nèi)容:B0986C46ABD96EB81C解析:通過(guò)對(duì)GSM-7bit編碼內(nèi)容進(jìn)行解碼,得知短信內(nèi)容為:5. 短信工作過(guò)程5.1 設(shè)備之間的交互過(guò)程5.2 平臺(tái)的消息處理過(guò)程5.2.1 發(fā)送短信5.2.2 接收短信

微信號(hào):15838231350
添加微信好友, 獲取更多信息
復(fù)制微信號(hào)

本文鏈接:http://www.fskairui.com/wufangbu/post/2257.html

閱讀更多