詞語(yǔ)解釋
CMPP協(xié)議(中國(guó)移動(dòng)短信提交協(xié)議)是中國(guó)移動(dòng)提出的短信提交協(xié)議,它是一種應(yīng)用層協(xié)議,用于短信網(wǎng)關(guān)與短信網(wǎng)關(guān)之間的通信。CMPP協(xié)議采用客戶端/服務(wù)器模式,客戶端可以是短信網(wǎng)關(guān),也可以是短信應(yīng)用程序,服務(wù)器可以是短信中心,也可以是短信網(wǎng)關(guān)。 CMPP協(xié)議的主要功能是實(shí)現(xiàn)短信的提交、接收、狀態(tài)報(bào)告和查詢等功能,它主要用于短信網(wǎng)關(guān)和短信中心之間的通信,實(shí)現(xiàn)短信的提交、接收、狀態(tài)報(bào)告和查詢等功能。 CMPP協(xié)議的應(yīng)用場(chǎng)景: 1. 短信網(wǎng)關(guān)之間的通信:CMPP協(xié)議可以實(shí)現(xiàn)短信網(wǎng)關(guān)之間的通信,以實(shí)現(xiàn)短信的提交、接收、狀態(tài)報(bào)告和查詢等功能。 2. 短信應(yīng)用程序和短信中心之間的通信:CMPP協(xié)議可以實(shí)現(xiàn)短信應(yīng)用程序和短信中心之間的通信,以實(shí)現(xiàn)短信的提交、接收、狀態(tài)報(bào)告和查詢等功能。 3. 短信網(wǎng)關(guān)和短信應(yīng)用程序之間的通信:CMPP協(xié)議可以實(shí)現(xiàn)短信網(wǎng)關(guān)和短信應(yīng)用程序之間的通信,以實(shí)現(xiàn)短信的提交、接收、狀態(tài)報(bào)告和查詢等功能。 CMPP協(xié)議在通信中的含義: CMPP協(xié)議是中國(guó)移動(dòng)提出的短信提交協(xié)議,它是一種應(yīng)用層協(xié)議,用于短信網(wǎng)關(guān)與短信網(wǎng)關(guān)之間的通信,主要用于短信的提交、接收、狀態(tài)報(bào)告和查詢等功能。它可以實(shí)現(xiàn)短信網(wǎng)關(guān)與短信中心之間的通信,也可以實(shí)現(xiàn)短信網(wǎng)關(guān)與短信應(yīng)用程序之間的通信。 中國(guó)移動(dòng)通信信息資源站實(shí)體與互聯(lián)網(wǎng)短消息網(wǎng)關(guān)(ISMG) 接口協(xié)議(CMPP) V1.1 中國(guó)移動(dòng)通信集團(tuán)公司 2000/11/29 -------------------------------------------------------------------------------- 編制說(shuō)明 本規(guī)范為中國(guó)移動(dòng)通信集團(tuán)公司企業(yè)規(guī)范,規(guī)定信息資源站實(shí)體與互聯(lián)網(wǎng)短消息網(wǎng)關(guān)的應(yīng)用層接口協(xié)議。本協(xié)議版本為1.1版。 略縮語(yǔ) ISMG Internet Short Message Gateway 互聯(lián)網(wǎng)短消息網(wǎng)關(guān) SMPP Short Message Peer to Peer 短消息點(diǎn)對(duì)點(diǎn)協(xié)議 CMPP China Mobile Peer to Peer 中國(guó)移動(dòng)點(diǎn)對(duì)點(diǎn)協(xié)議 TLS Transport Layer Security 傳輸層安全 SMC Short Message Center 短消息中心 網(wǎng)絡(luò)結(jié)構(gòu) 因特網(wǎng)SC業(yè)務(wù)中心即ISMG記錄了全網(wǎng)的SMC的位置,要求ICP的功能實(shí)體向ISMG發(fā)CMPP_SUBMIT消息,由ISMG將消息轉(zhuǎn)發(fā)到某SMC上。同時(shí),SMC也可向ISMG發(fā)送短消息,由ISMG發(fā)送給相應(yīng)的ICP。 維護(hù)管理中心對(duì)ISMG進(jìn)行管理。 CMPP功能 CMPP用以建立短消息中心和ICP之間的通路,業(yè)務(wù)和信息的提供由ICP完成?梢詾閷(shí)現(xiàn)移動(dòng)數(shù)據(jù)增值業(yè)務(wù)提供服務(wù),例如以下業(yè)務(wù):Email通知、語(yǔ)音信箱通知、Internet發(fā)短消息、移動(dòng)臺(tái)發(fā)Email、催費(fèi)通知、自動(dòng)綜合業(yè)務(wù)信息臺(tái)(信息點(diǎn)播業(yè)務(wù),主要有:天氣預(yù)報(bào)、股票信息、航班信息等)。 以下以Email通知業(yè)務(wù)為例,講述信息的流程:某因特網(wǎng)的用戶向ICP的Email Server發(fā)送一封Email。ICP的POP3 SERVER激活過(guò)濾進(jìn)程,如果該用戶申請(qǐng)了Email通知業(yè)務(wù),則過(guò)濾進(jìn)程將用戶登記的手機(jī)號(hào)碼取出,將Email的標(biāo)題取出,綁定在CMPP_SUBMIT消息中,發(fā)送給ISMG。ISMG將檢查CMPP_SUBMIT消息中“接收業(yè)務(wù)的手機(jī)號(hào)碼”字段,則在ISMG中查詢?cè)撌謾C(jī)用戶歸屬的SMC的地址,然后發(fā)送給SMC。ISMG得到確認(rèn)消息后,將消息轉(zhuǎn)換成CMPP_SUBMIT_REP,發(fā)回給ICP。SMC收到該消息后,對(duì)該消息進(jìn)行處理,并向ISMG發(fā)送確認(rèn)消息, 由上述流程可見(jiàn),對(duì)于ICP來(lái)講,要做的工作主要集中在第二步,即在EMAIL SERVER中做一個(gè)過(guò)濾程序,實(shí)現(xiàn)上述功能即可。 從協(xié)議上說(shuō),ICP只要具備CMPP中實(shí)現(xiàn)的接口,就可以實(shí)現(xiàn)對(duì)應(yīng)于控制層的功能,至于對(duì)于具體的ICP功能實(shí)體,比如Email Server、Web Server等,尚需做一些應(yīng)用層的工作。 接口 CMPP協(xié)議以TCP/IP作為底層通信承載。在有較高的安全性需要時(shí),可選用TLS層進(jìn)行安全傳輸。 消息流程 ICP與ISMG之間進(jìn)行信息交互時(shí),可以采用長(zhǎng)連接方式,也可以采用短連接方式。所謂長(zhǎng)連接,指在一個(gè)連接上可以連續(xù)發(fā)送多個(gè)數(shù)據(jù)包,然后斷開(kāi)連接,在連接保持期間,如果沒(méi)有數(shù)據(jù)包發(fā)送,需要雙方發(fā)鏈路檢測(cè)包。短連接是指通訊雙方有數(shù)據(jù)交互時(shí),就建立一個(gè)連接,數(shù)據(jù)發(fā)送完成后,則斷開(kāi)此連接,即每次連接只完成一項(xiàng)業(yè)務(wù)的發(fā)送。 長(zhǎng)消息 ICP與ISMG以Client—Server方式建立TCP連接,用于雙方信息的相互提交。TCP/IP連接建立后,由Client發(fā)起建立應(yīng)用層的連接,這時(shí)如果ICP或ISMG認(rèn)為需要建立TLS連接,則在傳輸?shù)臄?shù)據(jù)包中置TLS字段,從而在雙方建立TLS連接。 在應(yīng)用層連接建立后的數(shù)據(jù)傳輸過(guò)程中,如果ICP或ISMG需要向?qū)Χ税l(fā)送加密信息,也可建立TLS連接,這時(shí)只需要置相應(yīng)的消息體中Tls_available(是否使用TLS層)屬性字段,且應(yīng)的本條消息的消息體中的其他屬性不發(fā)送。 消息采用并發(fā)方式發(fā)送,加以流量控制,窗口大小可調(diào),暫定為10條消息,即接收方在應(yīng)答前一次收到的消息多于10條將予以拒絕。 ICP向ISMG發(fā)送的消息類型包括: 1) CMPP_Connect 請(qǐng)求應(yīng)用層連接 2) CMPP_Terminate 終止應(yīng)用層連接 3) CMPP_Terminate_REP 終止應(yīng)用層連接應(yīng)答 4) CMPP_Deliver_REP 下發(fā)短信應(yīng)答 5) CMPP_Submit 提交短信 6) CMPP_Query 發(fā)送短信狀態(tài)查詢 7) CMPP_Cancel 刪除短信 8) CMPP_Active_Test 激活測(cè)試 9) CMPP_Active_Test_REP 激活測(cè)試應(yīng)答 ISMG向ICP發(fā)送的消息類型包括: 1) CMPP_Connect_REP 請(qǐng)求連接應(yīng)答 2) CMPP_Deliver 短信下發(fā) 3) CMPP_Submit_REP 提交短信應(yīng)答 4) CMPP_Query_REP 短信狀態(tài)查詢結(jié)果 5) CMPP_Cancel_REP 刪除短信應(yīng)答 6) CMPP_Active_Test_REP 激活測(cè)試應(yīng)答 7) CMPP_Active_Test 激活測(cè)試 8) CMPP_Terminate 終止應(yīng)用層連接 9) CMPP_Terminate_Rep 終止應(yīng)用層連接應(yīng)答 ISMG之間發(fā)送的消息類型包括: 1) CMPP_Fwd 消息前轉(zhuǎn) 2) CMPP_Fwd_REP 消息前轉(zhuǎn)應(yīng)答 3) CMPP_Route 路由請(qǐng)求 4) CMPP_Route_REP 路由請(qǐng)求應(yīng)答 一次操作流程 短消息 ISMG與ICP之間的通訊采用TCP/IP協(xié)議,雙方互為client和server端。發(fā)送與接收單獨(dú)進(jìn)行,每項(xiàng)業(yè)務(wù)建立一個(gè)連接,通訊采用應(yīng)答方式,應(yīng)答與請(qǐng)求在同一個(gè)連接中完成。由于系統(tǒng)采用互為客戶端/服務(wù)器模式,操作以客戶端驅(qū)動(dòng)方式發(fā)起連接請(qǐng)求,完成一次操作后關(guān)閉此連接。傳輸過(guò)程中,如果ICP或ISMG認(rèn)為需要建立TLS連接,則在傳輸?shù)臄?shù)據(jù)包中置TLS字段,并建立雙方的TLS連接。 連接中對(duì)ICP的認(rèn)證采用階段性認(rèn)證方式,當(dāng)ICP首次與IMSG交換信息時(shí),ICP首先發(fā)送身份認(rèn)證包,IMSG對(duì)ICP進(jìn)行身份認(rèn)證后,記錄ICP的IP地址等相關(guān)信息,在以后的數(shù)據(jù)交互時(shí),IMSG把ICP的IP地址作為認(rèn)證條件,即對(duì)沒(méi)有注冊(cè)的ICP的相關(guān)信息不予處理。當(dāng)ICP想斷開(kāi)此邏輯上的應(yīng)用層連接時(shí),發(fā)送斷開(kāi)連接請(qǐng)求包,ISMG接受斷開(kāi)連接請(qǐng)求后,清除掉與此ICP相關(guān)的信息,即對(duì)MO到此ICP或ICP的MT信息均不予處理,但保存MO的信息,直到ICP再次與ISMG建立邏輯上的應(yīng)用層連接,即身份認(rèn)證。也允許ISMG發(fā)起斷開(kāi)ICP的連接請(qǐng)求。 消息采用并發(fā)方式發(fā)送,并加以流量控制,窗口大小可調(diào),暫定為10條消息,即接收方在應(yīng)答前一次收到的消息多于10條將予以拒絕。 ICP向ISMG發(fā)送的消息類型包括: 1) CMPP_Connect 請(qǐng)求應(yīng)用層連接 2) CMPP_Terminate 終止應(yīng)用層連接 3) CMPP_Terminate_REP 終止應(yīng)用層連接應(yīng)答 4) CMPP_Deliver_REP 下發(fā)短信應(yīng)答 5) CMPP_Submit 提交短信 6) CMPP_Query 發(fā)送短信狀態(tài)查詢 7) CMPP_Cancel 刪除短信 ISMG向ICP發(fā)送的消息類型包括: 1) CMPP_Connect_REP 請(qǐng)求連接應(yīng)答 2) CMPP_Deliver 短信下發(fā) 3) CMPP_Submit_REP 提交短信應(yīng)答 4) CMPP_Query_REP 短信狀態(tài)查詢結(jié)果 5) CMPP_Cancel_REP 刪除短信應(yīng)答 6) CMPP_Terminate 終止應(yīng)用層連接 7) CMPP_Terminate_Rep 終止應(yīng)用層連接應(yīng)答 ISMG之間發(fā)送的消息類型包括: 1) CMPP_Fwd 消息前轉(zhuǎn) 2) CMPP_Fwd_REP 消息前轉(zhuǎn)應(yīng)答 3) CMPP_Route 路由請(qǐng)求 4) CMPP_Route_REP 路由請(qǐng)求應(yīng)答 一次操作流程(MO和MT) 消息定義 CMPP連接端口號(hào)定義為7890。字節(jié)采用在網(wǎng)絡(luò)中通用的網(wǎng)絡(luò)序,超時(shí)時(shí)長(zhǎng)間隔采用斐波那契數(shù)列,重發(fā)次數(shù)動(dòng)態(tài)可調(diào),最好不少于3次。 基本數(shù)據(jù)類型: Integer 無(wú)符號(hào)整數(shù) C-Octet String 變長(zhǎng)字符串,以空字符表示字符串結(jié)束 Octet String 定長(zhǎng)字符串,位數(shù)不足時(shí),右補(bǔ)空 7.1消息結(jié)構(gòu) 項(xiàng)目 說(shuō)明 Message Header 消息頭(所有消息公共包頭) Message Body 消息體 7.2 消息頭格式(Message Header) 字段名 字節(jié)數(shù) 類型 描述 Total_Length 4 Integer 消息總長(zhǎng)度(含消息頭及消息體) Command_ID 4 Integer 命令或響應(yīng)類型 Sequence_ID 4 Integer 消息流水號(hào),順序累加,步長(zhǎng)為1,循環(huán)使用 7.3 消息體格式(Message Body) 1. CMPP_Connect 請(qǐng)求連接 字段名 字節(jié)數(shù) 屬性 描述 Source_Addr 6 Octet String ICP_ID AuthenticatorICP 16 Octet String ICP認(rèn)證碼[1] Reverse 8 Octet String 保留項(xiàng)(暫不用) 2. CMPP_Connect_REP 請(qǐng)求連接應(yīng)答 字段名 字節(jié)數(shù) 屬性 描述 Status 1 Integer 狀態(tài) (0:正確 1:消息結(jié)構(gòu)錯(cuò) 2:非法ICP_ID 3:ICP認(rèn)證錯(cuò) 4~ :其他錯(cuò)誤 ) AuthenticatorISMG 16 Octet String ISMG認(rèn)證碼[2] Tls_available 1 Integer 是否使用TLS協(xié)議層 3. CMPP_Terminate 終止連接 消息體為空。 4. CMPP_Terminate_Rep 終止連接響應(yīng) 消息體為空。 5.CMPP_Submit 發(fā)送短信 字段名 字節(jié)數(shù) 屬性 描述 Msg_id 4 Integer 信息標(biāo)識(shí) :1~FFFFFFFFH ,順序累加,步長(zhǎng)為1,循環(huán)使用. Pk_total 1 Integer 相同Msg_id的消息總條數(shù) Pk_number 1 Integer 相同Msg_id的消息序號(hào) Msg_level 1 Integer 信息級(jí)別 Service_id 10 Octet String 業(yè)務(wù)類型 Tls_available 1 Integer 是否使用TLS協(xié)議層 Msg_Fmt 1 Integer 信息格式 0:ASCII串 3:短信寫卡操作 4:二進(jìn)制信息 8:UCS2編碼 15:含GB漢字 Msg_src 6 Octet String 信息內(nèi)容來(lái)源(ICP_ID) FeeType 1 Integer 資費(fèi)類別 FeeCode 1 Integer 資費(fèi)代碼 Valid_Time 1或17 C-Octet String 存活有效期(字節(jié)數(shù)為1時(shí):不指定存活期,置為NULL) At_Time 1或17 C-Octet String 定時(shí)發(fā)送的時(shí)間(字節(jié)數(shù)為1時(shí):不指定發(fā)送時(shí)間,置為NULL) Src_terminal_id 21 Octet String 源終端標(biāo)識(shí)(沒(méi)有可以為空) DestUsr_tl 1 Integer 接收消息的用戶數(shù)量(小于100個(gè)用戶) Dest_terminal_id 21*DestUsr_tl Octet String 接收業(yè)務(wù)的手機(jī)號(hào)碼 Msg_Length 1 Integer 消息長(zhǎng)度(1-70或140) Msg_Content Msg_length C-Octet String 消息內(nèi)容 Reserve 8 Octet String 保留 6.CMPP_Submit_REP 發(fā)送短信響應(yīng)(出錯(cuò)要求ICP全部重發(fā)Msg_Id信息) 字段名 字節(jié)數(shù) 屬性 描述 Msg_Id 4 Integer 消息標(biāo)識(shí) Tls_available 1 Integer 是否使用TLS協(xié)議層 Result 1 Integer 結(jié)果 0:正確 1:消息結(jié)構(gòu)錯(cuò) 2:命令字錯(cuò) 3:消息序號(hào)重復(fù) 4:消息長(zhǎng)度錯(cuò) 5:資費(fèi)代碼錯(cuò) 6:超過(guò)最大信息長(zhǎng) 7:業(yè)務(wù)代碼錯(cuò) 8: 流量控制錯(cuò) 9~ :其他錯(cuò)誤 …… 8FeeType & FeeCode 資費(fèi)類別和資費(fèi)代碼(待定) 一、信息級(jí)別 信息級(jí)別從1--9,“9”最高,“0”最低 二、資費(fèi)代碼 具體定義為: “00”: 免費(fèi) “99”: 包月 “98”: 封頂 “01”--“10”:0.01元--0.10元 “11”--“50”:以0.05元遞增 “51”--“80”:以0.10元遞增 “81”--“97”:保留 [1]用于鑒別ICP。其值通過(guò)單向MD5 hash計(jì)算得出,表示如下: AuthenticatorICP =MD5(Source_Addr+9 zero int+ConnectType+shared secret) Shared secret 由中國(guó)移動(dòng)與ICP事先商定。 [2]用于鑒別ISMG。其值通過(guò)單向MD5 hash計(jì)算得出,表示如下: AuthenticatorISMG =MD5(Status+AuthenticatorICP+ Tls_available+shared secret) Shared secret 由中國(guó)移動(dòng)與ICP事先商定,AuthenticatorICP為ICP發(fā)送給ISMG的上一條消息CMPP_Request_Connect中的值。 [3]當(dāng)Query_Type為0時(shí),此項(xiàng)無(wú)效;當(dāng)Query_Type為1時(shí),此項(xiàng)填寫業(yè)務(wù)代碼Service_id. 參考資料:http://www.simpleteam.com/simpleteam/sms/cmpp1_1.htm
中國(guó)移動(dòng)通信信息資源站實(shí)體與互聯(lián)網(wǎng)短消息網(wǎng)關(guān)(ISMG) 接口協(xié)議(CMPP) V1.1 中國(guó)移動(dòng)通信集團(tuán)公司 2000/11/29 -------------------------------------------------------------------------------- 編制說(shuō)明 本規(guī)范為中國(guó)移動(dòng)通信集團(tuán)公司企業(yè)規(guī)范,規(guī)定信息資源站實(shí)體與互聯(lián)網(wǎng)短消息網(wǎng)關(guān)的應(yīng)用層接口協(xié)議。本協(xié)議版本為1.1版。 略縮語(yǔ) ISMG Internet Short Message Gateway 互聯(lián)網(wǎng)短消息網(wǎng)關(guān) SMPP Short Message Peer to Peer 短消息點(diǎn)對(duì)點(diǎn)協(xié)議 CMPP China Mobile Peer to Peer 中國(guó)移動(dòng)點(diǎn)對(duì)點(diǎn)協(xié)議 TLS Transport Layer Security 傳輸層安全 SMC Short Message Center 短消息中心 網(wǎng)絡(luò)結(jié)構(gòu) 因特網(wǎng)SC業(yè)務(wù)中心即ISMG記錄了全網(wǎng)的SMC的位置,要求ICP的功能實(shí)體向ISMG發(fā)CMPP_SUBMIT消息,由ISMG將消息轉(zhuǎn)發(fā)到某SMC上。同時(shí),SMC也可向ISMG發(fā)送短消息,由ISMG發(fā)送給相應(yīng)的ICP。 維護(hù)管理中心對(duì)ISMG進(jìn)行管理。 CMPP功能 CMPP用以建立短消息中心和ICP之間的通路,業(yè)務(wù)和信息的提供由ICP完成?梢詾閷(shí)現(xiàn)移動(dòng)數(shù)據(jù)增值業(yè)務(wù)提供服務(wù),例如以下業(yè)務(wù):Email通知、語(yǔ)音信箱通知、Internet發(fā)短消息、移動(dòng)臺(tái)發(fā)Email、催費(fèi)通知、自動(dòng)綜合業(yè)務(wù)信息臺(tái)(信息點(diǎn)播業(yè)務(wù),主要有:天氣預(yù)報(bào)、股票信息、航班信息等)。 以下以Email通知業(yè)務(wù)為例,講述信息的流程:某因特網(wǎng)的用戶向ICP的Email Server發(fā)送一封Email。ICP的POP3 SERVER激活過(guò)濾進(jìn)程,如果該用戶申請(qǐng)了Email通知業(yè)務(wù),則過(guò)濾進(jìn)程將用戶登記的手機(jī)號(hào)碼取出,將Email的標(biāo)題取出,綁定在CMPP_SUBMIT消息中,發(fā)送給ISMG。ISMG將檢查CMPP_SUBMIT消息中“接收業(yè)務(wù)的手機(jī)號(hào)碼”字段,則在ISMG中查詢?cè)撌謾C(jī)用戶歸屬的SMC的地址,然后發(fā)送給SMC。ISMG得到確認(rèn)消息后,將消息轉(zhuǎn)換成CMPP_SUBMIT_REP,發(fā)回給ICP。SMC收到該消息后,對(duì)該消息進(jìn)行處理,并向ISMG發(fā)送確認(rèn)消息, 由上述流程可見(jiàn),對(duì)于ICP來(lái)講,要做的工作主要集中在第二步,即在EMAIL SERVER中做一個(gè)過(guò)濾程序,實(shí)現(xiàn)上述功能即可。 從協(xié)議上說(shuō),ICP只要具備CMPP中實(shí)現(xiàn)的接口,就可以實(shí)現(xiàn)對(duì)應(yīng)于控制層的功能,至于對(duì)于具體的ICP功能實(shí)體,比如Email Server、Web Server等,尚需做一些應(yīng)用層的工作。 接口 CMPP協(xié)議以TCP/IP作為底層通信承載。在有較高的安全性需要時(shí),可選用TLS層進(jìn)行安全傳輸。 消息流程 ICP與ISMG之間進(jìn)行信息交互時(shí),可以采用長(zhǎng)連接方式,也可以采用短連接方式。所謂長(zhǎng)連接,指在一個(gè)連接上可以連續(xù)發(fā)送多個(gè)數(shù)據(jù)包,然后斷開(kāi)連接,在連接保持期間,如果沒(méi)有數(shù)據(jù)包發(fā)送,需要雙方發(fā)鏈路檢測(cè)包。短連接是指通訊雙方有數(shù)據(jù)交互時(shí),就建立一個(gè)連接,數(shù)據(jù)發(fā)送完成后,則斷開(kāi)此連接,即每次連接只完成一項(xiàng)業(yè)務(wù)的發(fā)送。 長(zhǎng)消息 ICP與ISMG以Client—Server方式建立TCP連接,用于雙方信息的相互提交。TCP/IP連接建立后,由Client發(fā)起建立應(yīng)用層的連接,這時(shí)如果ICP或ISMG認(rèn)為需要建立TLS連接,則在傳輸?shù)臄?shù)據(jù)包中置TLS字段,從而在雙方建立TLS連接。 在應(yīng)用層連接建立后的數(shù)據(jù)傳輸過(guò)程中,如果ICP或ISMG需要向?qū)Χ税l(fā)送加密信息,也可建立TLS連接,這時(shí)只需要置相應(yīng)的消息體中Tls_available(是否使用TLS層)屬性字段,且應(yīng)的本條消息的消息體中的其他屬性不發(fā)送。 消息采用并發(fā)方式發(fā)送,加以流量控制,窗口大小可調(diào),暫定為10條消息,即接收方在應(yīng)答前一次收到的消息多于10條將予以拒絕。 ICP向ISMG發(fā)送的消息類型包括: 1) CMPP_Connect 請(qǐng)求應(yīng)用層連接 2) CMPP_Terminate 終止應(yīng)用層連接 3) CMPP_Terminate_REP 終止應(yīng)用層連接應(yīng)答 4) CMPP_Deliver_REP 下發(fā)短信應(yīng)答 5) CMPP_Submit 提交短信 6) CMPP_Query 發(fā)送短信狀態(tài)查詢 7) CMPP_Cancel 刪除短信 8) CMPP_Active_Test 激活測(cè)試 9) CMPP_Active_Test_REP 激活測(cè)試應(yīng)答 ISMG向ICP發(fā)送的消息類型包括: 1) CMPP_Connect_REP 請(qǐng)求連接應(yīng)答 2) CMPP_Deliver 短信下發(fā) 3) CMPP_Submit_REP 提交短信應(yīng)答 4) CMPP_Query_REP 短信狀態(tài)查詢結(jié)果 5) CMPP_Cancel_REP 刪除短信應(yīng)答 6) CMPP_Active_Test_REP 激活測(cè)試應(yīng)答 7) CMPP_Active_Test 激活測(cè)試 8) CMPP_Terminate 終止應(yīng)用層連接 9) CMPP_Terminate_Rep 終止應(yīng)用層連接應(yīng)答 ISMG之間發(fā)送的消息類型包括: 1) CMPP_Fwd 消息前轉(zhuǎn) 2) CMPP_Fwd_REP 消息前轉(zhuǎn)應(yīng)答 3) CMPP_Route 路由請(qǐng)求 4) CMPP_Route_REP 路由請(qǐng)求應(yīng)答 一次操作流程 短消息 ISMG與ICP之間的通訊采用TCP/IP協(xié)議,雙方互為client和server端。發(fā)送與接收單獨(dú)進(jìn)行,每項(xiàng)業(yè)務(wù)建立一個(gè)連接,通訊采用應(yīng)答方式,應(yīng)答與請(qǐng)求在同一個(gè)連接中完成。由于系統(tǒng)采用互為客戶端/服務(wù)器模式,操作以客戶端驅(qū)動(dòng)方式發(fā)起連接請(qǐng)求,完成一次操作后關(guān)閉此連接。傳輸過(guò)程中,如果ICP或ISMG認(rèn)為需要建立TLS連接,則在傳輸?shù)臄?shù)據(jù)包中置TLS字段,并建立雙方的TLS連接。 連接中對(duì)ICP的認(rèn)證采用階段性認(rèn)證方式,當(dāng)ICP首次與IMSG交換信息時(shí),ICP首先發(fā)送身份認(rèn)證包,IMSG對(duì)ICP進(jìn)行身份認(rèn)證后,記錄ICP的IP地址等相關(guān)信息,在以后的數(shù)據(jù)交互時(shí),IMSG把ICP的IP地址作為認(rèn)證條件,即對(duì)沒(méi)有注冊(cè)的ICP的相關(guān)信息不予處理。當(dāng)ICP想斷開(kāi)此邏輯上的應(yīng)用層連接時(shí),發(fā)送斷開(kāi)連接請(qǐng)求包,ISMG接受斷開(kāi)連接請(qǐng)求后,清除掉與此ICP相關(guān)的信息,即對(duì)MO到此ICP或ICP的MT信息均不予處理,但保存MO的信息,直到ICP再次與ISMG建立邏輯上的應(yīng)用層連接,即身份認(rèn)證。也允許ISMG發(fā)起斷開(kāi)ICP的連接請(qǐng)求。 消息采用并發(fā)方式發(fā)送,并加以流量控制,窗口大小可調(diào),暫定為10條消息,即接收方在應(yīng)答前一次收到的消息多于10條將予以拒絕。 ICP向ISMG發(fā)送的消息類型包括: 1) CMPP_Connect 請(qǐng)求應(yīng)用層連接 2) CMPP_Terminate 終止應(yīng)用層連接 3) CMPP_Terminate_REP 終止應(yīng)用層連接應(yīng)答 4) CMPP_Deliver_REP 下發(fā)短信應(yīng)答 5) CMPP_Submit 提交短信 6) CMPP_Query 發(fā)送短信狀態(tài)查詢 7) CMPP_Cancel 刪除短信 ISMG向ICP發(fā)送的消息類型包括: 1) CMPP_Connect_REP 請(qǐng)求連接應(yīng)答 2) CMPP_Deliver 短信下發(fā) 3) CMPP_Submit_REP 提交短信應(yīng)答 4) CMPP_Query_REP 短信狀態(tài)查詢結(jié)果 5) CMPP_Cancel_REP 刪除短信應(yīng)答 6) CMPP_Terminate 終止應(yīng)用層連接 7) CMPP_Terminate_Rep 終止應(yīng)用層連接應(yīng)答 ISMG之間發(fā)送的消息類型包括: 1) CMPP_Fwd 消息前轉(zhuǎn) 2) CMPP_Fwd_REP 消息前轉(zhuǎn)應(yīng)答 3) CMPP_Route 路由請(qǐng)求 4) CMPP_Route_REP 路由請(qǐng)求應(yīng)答 一次操作流程(MO和MT) 消息定義 CMPP連接端口號(hào)定義為7890。字節(jié)采用在網(wǎng)絡(luò)中通用的網(wǎng)絡(luò)序,超時(shí)時(shí)長(zhǎng)間隔采用斐波那契數(shù)列,重發(fā)次數(shù)動(dòng)態(tài)可調(diào),最好不少于3次。 基本數(shù)據(jù)類型: Integer 無(wú)符號(hào)整數(shù) C-Octet String 變長(zhǎng)字符串,以空字符表示字符串結(jié)束 Octet String 定長(zhǎng)字符串,位數(shù)不足時(shí),右補(bǔ)空 7.1消息結(jié)構(gòu) 項(xiàng)目 說(shuō)明 Message Header 消息頭(所有消息公共包頭) Message Body 消息體 7.2 消息頭格式(Message Header) 字段名 字節(jié)數(shù) 類型 描述 Total_Length 4 Integer 消息總長(zhǎng)度(含消息頭及消息體) Command_ID 4 Integer 命令或響應(yīng)類型 Sequence_ID 4 Integer 消息流水號(hào),順序累加,步長(zhǎng)為1,循環(huán)使用 7.3 消息體格式(Message Body) 1. CMPP_Connect 請(qǐng)求連接 字段名 字節(jié)數(shù) 屬性 描述 Source_Addr 6 Octet String ICP_ID AuthenticatorICP 16 Octet String ICP認(rèn)證碼[1] Reverse 8 Octet String 保留項(xiàng)(暫不用) 2. CMPP_Connect_REP 請(qǐng)求連接應(yīng)答 字段名 字節(jié)數(shù) 屬性 描述 Status 1 Integer 狀態(tài) (0:正確 1:消息結(jié)構(gòu)錯(cuò) 2:非法ICP_ID 3:ICP認(rèn)證錯(cuò) 4~ :其他錯(cuò)誤 ) AuthenticatorISMG 16 Octet String ISMG認(rèn)證碼[2] Tls_available 1 Integer 是否使用TLS協(xié)議層 3. CMPP_Terminate 終止連接 消息體為空。 4. CMPP_Terminate_Rep 終止連接響應(yīng) 消息體為空。 5.CMPP_Submit 發(fā)送短信 字段名 字節(jié)數(shù) 屬性 描述 Msg_id 4 Integer 信息標(biāo)識(shí) :1~FFFFFFFFH ,順序累加,步長(zhǎng)為1,循環(huán)使用. Pk_total 1 Integer 相同Msg_id的消息總條數(shù) Pk_number 1 Integer 相同Msg_id的消息序號(hào) Msg_level 1 Integer 信息級(jí)別 Service_id 10 Octet String 業(yè)務(wù)類型 Tls_available 1 Integer 是否使用TLS協(xié)議層 Msg_Fmt 1 Integer 信息格式 0:ASCII串 3:短信寫卡操作 4:二進(jìn)制信息 8:UCS2編碼 15:含GB漢字 Msg_src 6 Octet String 信息內(nèi)容來(lái)源(ICP_ID) FeeType 1 Integer 資費(fèi)類別 FeeCode 1 Integer 資費(fèi)代碼 Valid_Time 1或17 C-Octet String 存活有效期(字節(jié)數(shù)為1時(shí):不指定存活期,置為NULL) At_Time 1或17 C-Octet String 定時(shí)發(fā)送的時(shí)間(字節(jié)數(shù)為1時(shí):不指定發(fā)送時(shí)間,置為NULL) Src_terminal_id 21 Octet String 源終端標(biāo)識(shí)(沒(méi)有可以為空) DestUsr_tl 1 Integer 接收消息的用戶數(shù)量(小于100個(gè)用戶) Dest_terminal_id 21*DestUsr_tl Octet String 接收業(yè)務(wù)的手機(jī)號(hào)碼 Msg_Length 1 Integer 消息長(zhǎng)度(1-70或140) Msg_Content Msg_length C-Octet String 消息內(nèi)容 Reserve 8 Octet String 保留 6.CMPP_Submit_REP 發(fā)送短信響應(yīng)(出錯(cuò)要求ICP全部重發(fā)Msg_Id信息) 字段名 字節(jié)數(shù) 屬性 描述 Msg_Id 4 Integer 消息標(biāo)識(shí) Tls_available 1 Integer 是否使用TLS協(xié)議層 Result 1 Integer 結(jié)果 0:正確 1:消息結(jié)構(gòu)錯(cuò) 2:命令字錯(cuò) 3:消息序號(hào)重復(fù) 4:消息長(zhǎng)度錯(cuò) 5:資費(fèi)代碼錯(cuò) 6:超過(guò)最大信息長(zhǎng) 7:業(yè)務(wù)代碼錯(cuò) 8: 流量控制錯(cuò) 9~ :其他錯(cuò)誤 …… 8FeeType & FeeCode 資費(fèi)類別和資費(fèi)代碼(待定) 一、信息級(jí)別 信息級(jí)別從1--9,“9”最高,“0”最低 二、資費(fèi)代碼 具體定義為: “00”: 免費(fèi) “99”: 包月 “98”: 封頂 “01”--“10”:0.01元--0.10元 “11”--“50”:以0.05元遞增 “51”--“80”:以0.10元遞增 “81”--“97”:保留 [1]用于鑒別ICP。其值通過(guò)單向MD5 hash計(jì)算得出,表示如下: AuthenticatorICP =MD5(Source_Addr+9 zero int+ConnectType+shared secret) Shared secret 由中國(guó)移動(dòng)與ICP事先商定。 [2]用于鑒別ISMG。其值通過(guò)單向MD5 hash計(jì)算得出,表示如下: AuthenticatorISMG =MD5(Status+AuthenticatorICP+ Tls_available+shared secret) Shared secret 由中國(guó)移動(dòng)與ICP事先商定,AuthenticatorICP為ICP發(fā)送給ISMG的上一條消息CMPP_Request_Connect中的值。 [3]當(dāng)Query_Type為0時(shí),此項(xiàng)無(wú)效;當(dāng)Query_Type為1時(shí),此項(xiàng)填寫業(yè)務(wù)代碼Service_id. 參考資料:http://www.simpleteam.com/simpleteam/sms/cmpp1_1.htm
抱歉,此頁(yè)面的內(nèi)容受版權(quán)保護(hù),復(fù)制需扣除次數(shù),次數(shù)不足時(shí)需付費(fèi)購(gòu)買。
如需下載請(qǐng)點(diǎn)擊:點(diǎn)擊此處下載
掃碼付費(fèi)即可復(fù)制
PUCCH | 可編程控制器 | MPWR | 大唐電信科技股份有限公司 | pig | FNS | 微波器件 | ipam | cdma2000無(wú)線網(wǎng)絡(luò)測(cè)試與優(yōu)化 | syslog | 263 | 袁欣 |
移動(dòng)通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助