亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

基于SMPP協議的GSM短消息增值業務接口設計與實現

2019-11-18 20:08:56
字體:
來源:轉載
供稿:網友

     Design and Implementation of one of the GSM Short Message Value-Added Service Interface Based on PRotocol SMPP
鄒建新         黃本雄
華中科技大學電信系 (430074)
Jianxin Zou     Benxiong Huang
Telecommunication Department of Huazhong University of Science and Technology (430074)

摘要:本文首先介紹了GSM短消息點對點協議SMPP的定義、接口連接和消息處理機制;在分析GSM短消息增值業務接口的基礎上詳細論述了基于SMPP協議的一種GSM短消息增值業務接口通信服務程序的實現。
關鍵詞:  短信增值業務;  SMPP協議;  通信服務接口; UNIX網絡編程
Abstract: This paper introduce the concept and structure of GSM Short Message Value-added Service and the Short Message point-to-point protocol SMPP. Then gives a method of Design and Implementation of the GSM Short Message Value-Added Service Interface Based on Protocol SMPP in details. Some important technology items are also shows.
KeyWords: Short Message Value-added Service; SMPP protocol; Communication Interface; UNIX network programming
1、 前言
短消息業務是GSM/DCS1800系統中唯一不需要建立端到端業務通道的業務,它通過GSM系統的信令信道(SDCCH用戶正常時或SACCH用戶忙時)來傳送短消息,通過SMSC完成接收、存儲和轉發用戶的短消息,如何充分利用SMSC的有效資源開展方便靈活的增值業務,實現信息的互連和共享,即為短消息業務提供更多的信息源。
目前SMSC均提供與外界的接口方式。最廣泛應用的協議有SMPP(Short Message Peer to Peer)(含中國移動點對點協議CMPP)/CIMD (Computer Interface Message Distribution) 等。通過SMPP通信服務接口,可以向用戶提供許多應用,為開展新業務提供了廣闊的前景。
2、 SMPP協議格式及消息交互定義
2.1 SMPP PDU定義
SMPP協議是一個開放的消息轉換協議;它定義了一系列操作的協議數據單元(PDUs)和當SMPP運行時ESMS應用系統與SMSC之間交換的數據。從而完成SMSC與ESMEs(外部短消息實體)的信息交換。SMPP是基于SMSC與ESME之間的請求和響應協議數據單元的交換,每一個SMPP操作都由一個請求PDU和相應的一個響應PDU組成并且這種交換是在TCP/ip或X.25網絡連接之上的。因此基于SMPP短消息增值業務接口利用Socket網絡編程實現。根據SMPP協議,每個PDU的結構定義由PDU Header和PDU Body(有些PDU沒有)組成,見下表:
PDU Header(mandatory) PDU Body(optional)
整個PDU的長度 PDU的類型 PDU的狀態 PDU的序列號 必要參數 可選參數
Command length Command
id Command status Sequence number Mandatory parameters Optional parameters
Unsigned long Unsigned long Unsigned long Unsigned long mixed TLV
其中協議定義了非常復雜的可選參數,每個可選參數的結構定義如下:
可選參數標簽 參數值的字節長度 參數的取值
Tag Length Value
Unsigned int Unsigned int 變長
其定義是為擴充應用功能,但在常見的短消息增值業務應用中,只需使用PDU的必選參數即可,但如要實現,也只是在PDU定義結構中添加可選項,對系統的實現無影響。
2.2 短消息增值業務交互數據格式定義
短消息增值業務接口的作用是為建立ESME與SMSC及業務應用源的連接。其結構示意圖如下:

 

 

 

其功能(1)將來自SMSC的協議數據進行SMPP解碼,得到的信息寫入數據庫或發給各業務服務中心;(2)將來自各業務服務中心的消息進行SMPP編碼,通過通信模塊提供的連接發往SMSC,并將必要的信息寫入數據庫。其中SMSC與通信接口之間是通過SMPP協議PDUs交互的,而通信接口與各種業務源之間的消息交互還必須確定數據幀的含義,保證消息交互的 正確性,同時因許多信息在SMPP編碼、解碼時進行了分解取舍,所以對于前端業務中心數據通信需要定義數據幀格式,如下表:
Frame Header (mandatory) Frame Body(optional)
整個幀長度 幀類型ID  幀狀態 幀序號 必要參數
Command length Command
id Command status Sequence number Mandatory parameters
4字節 2字節   2字節 4字節 mixed
3、 通信接口服務系統的實現
3.1  系統完成功能需求
(1) 與SMSC連接和綁定
(2) 與各應用業務中心的連接
(3) 接收SMSC短消息、解碼并進行短消息應答編碼
(4) 對接收短消息合法檢查、識別所屬應用業務并組成相應的內部數據幀
(5) 發送內部數據幀到所屬應用業務中心
(6) 接收各應用業務中心發送的內部數據幀并應答
(7) 對接受的數據幀解析并進行SMPP編碼并發送至SMSC
(8) 對發送和接收的短消息計費統計
3.2 系統設計與實現
   由上述系統的主要功能看出系統實際上是相對獨立兩個處理流程,一個是處理與SMSC的編碼、解碼和數據的收、發;另一個是與前端應用業務中心的數據幀編碼、解碼和數據收發。并且消息的到達具有隨機、快速和突發性,因此將系統設計為兩個主進程。分別處理SMSC消息和應用業務中心消息。兩個進程之間采用消息隊列進行消息通信,因為在短消息增值業務中所有消息都可以認為是一條單獨的消息,沒有邏輯關系也不存在實時共享關系。為保證系統的安全與正確,對短消息的發送采用定時進程控制;為適應系統的可擴充性,對數據庫的操作、訪問采用數據庫訪問進程單獨進行處理。系統結構圖如下:

 

 

                                     


 

 

 
  
 
                                       
 

3.2.1 SMSC進程處理功能流程
    首先與SMSC進行SOCKET連接并偵聽TCP端口,對SMSC發綁定消息,接收SMSC發送的短消息進行解碼并檢查其合法性,對合法正確分類的消息組成前臺業務應用定義的內部數據幀(格式前面已定義),將已組好的內部數據幀發送到SMSC->SERV消息隊列;然后取SERV->SMSC消息隊列消息存包并啟動定時器,發送PDU到SMSC。其內部結構如下圖:

 

 

 

 

 

 

 


PACKET結構數組的作用是存儲即將發送或已經發送的PDU包,其定義如下:
typedef struct {
unsigned int seqnum;
int ordernum;
char data[MAX];
} pend_packet;
每個pend_packet結構對應一個PDU包,其中seqnum是與該PDU包結構中的HEADER中的sequence_number一致的;ordernum是該PDU包存入PACKET數組的序列號,即全局變量ORDERNUM,在每次調用存包模塊時,ORDERNUM會自動遞增,則所存的PDU包的ordernum即為此ORDERNUM。但在接收到該PDU包的回應以后,則將該PDU包在PACKET數組中的ordernum置為-1,表示將其清除。
因為每個SMSC對應的socket有5個狀態,在調用發包模塊時,只有當對應socket的狀態為DATA_STATUS時,才能直接將PDU包發送至對應SMSC,否則要調用綁定模塊對該SMSC重新進行綁定。在這兩種情況下,都要將PDU包存入PACKET數組。在接收到綁定數據包的響應包后,則將綁定數據包在PACKET數組中的狀態置為-1,將該socket在socket_smsc表中狀態置為DATA_STATUS,同時將PACKET數組中屬于該socket的PDU包發至SERV->SMSC消息隊列,SERV->SMSC消息隊列處理模塊會調用發包模塊將這些包發送至相應SMSC。在收到數據包的響應包后,則將該數據包在PACKET數組中的狀態置為-1。
3.2.2  SERV進程處理功能流程
    SERV進程則相對較簡單,完成對SERV的數據接收、編碼并發送到SERV->SMSC消息隊列;取SMSC->SERV消息隊列中消息發送到前臺業務服務中心。實現結構圖略。
3.2.3  定時器進程及數據庫的訪問
在通信軟件系統中,需要利用定時器來管理任務的調度和通信、通信協議的超時(提供差錯控制的機制)和系統數據的定時更新等多種事務。在那些對時鐘數量和種類要求不多,精度要求不高的應用場合,可以直接使用操作系統提供的時鐘功能。然而,實際的通信軟件要求時鐘種類多,并發的時鐘數量龐大。有的對精度要求極為嚴格,在這種情況下可以考慮采用實時操作系統。linux中Spec1170提供了三種間隔計時器,其中一種是ITIMER_REAL 類型,它的機制是:當該類型的間隔計時器到期時,系統內核會發出SIGALARM信號,可以通過捕獲這一信號來感知間隔計時器的到期。根據這一原理,設計了基于Linux操作系統的spec1170軟件間隔計時器的多任務定時服務器,來對實時通信系統提供支持。
通信接口系統對Oracle 8i數據庫的訪問采用單獨進程實現,Oracle提供Proc預編譯器,Proc可將.pc文件預編譯成.c文件,然后在Linux/UNIX中用cc或gcc鏈接oracle數據庫下的頭文件和庫文件,編譯鏈接成可執行文件。
4、 結束語
設計的短消息增值接口通信系統采用結構化模塊向客戶提供服務。在性能上采用開辟多個線程和合理協調多個進程間的優先級及進程內部各任務優先級,并為降低系統空閑時對CPU的占有率,將系統的非阻塞方式改為阻塞(消息觸發)方式。系統在SUN Solaris系統下運行,我們將其用在GPS車輛定位軟件系統中,實踐證明,它達到了預期設計目標,能夠滿足系統通信應用的要求。
參考文獻
[1]Key A.Robbins ,Steven Robbins,pratical unix programming,1999,8。
[2]SMPP Developers Forum; Short Message Peer to Peer Protocol Specification v3.4;Document Version 1.2 ;1999.10
[3]鄒建新;GSM短消息接口協議SMPP的研究。武漢科技學院學報;2000.12(4):12~17
      作者聯系方式:    電話:027-87410171    電子郵件:frankzou_cn@263.net


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区中文字幕| 性日韩欧美在线视频| 国产日韩欧美黄色| 青青草一区二区| 欧美国产精品人人做人人爱| 国产日韩精品视频| 久久亚洲影音av资源网| 欧美激情xxxx| 成人欧美一区二区三区黑人孕妇| 亚洲国产成人精品久久久国产成人一区| 精品久久久一区二区| 国产亚洲欧美日韩一区二区| 日韩在线欧美在线| 国产精品成人av性教育| 欧美激情精品久久久久久蜜臀| 久久国产色av| 在线视频欧美日韩精品| 亚洲国产私拍精品国模在线观看| 欧美日韩免费区域视频在线观看| 日韩av在线看| 亚洲精品美女在线观看| 韩日欧美一区二区| 日韩av在线免费观看一区| 国产噜噜噜噜噜久久久久久久久| 亚洲免费一在线| 激情久久av一区av二区av三区| 欧美激情小视频| 国产精品精品视频| 久久久久久中文字幕| 亚洲国产另类 国产精品国产免费| 久久人人看视频| 亚洲色图美腿丝袜| 亚洲精品美女在线观看播放| 欧美日韩一区二区三区在线免费观看| 国产一区二区三区在线免费观看| 国产视频亚洲视频| 久久精品99无色码中文字幕| 久久福利视频导航| 国产欧美久久久久久| 欧美夫妻性视频| 一区二区三区回区在观看免费视频| 久久九九热免费视频| 一个色综合导航| 国产成人a亚洲精品| 91精品国产91久久久| 欧美精品在线第一页| 91精品视频免费观看| 日韩在线视频线视频免费网站| 日韩免费观看视频| 亚洲va欧美va国产综合剧情| 中文字幕日韩在线视频| 亚洲精品av在线| 88国产精品欧美一区二区三区| 欧美在线观看一区二区三区| 尤物yw午夜国产精品视频| 精品福利在线视频| 国内精品中文字幕| 久久成人精品一区二区三区| 久久久久久欧美| 成人中文字幕在线观看| 中文字幕亚洲精品| 国产精品777| 琪琪亚洲精品午夜在线| 欧美午夜激情在线| 精品国产91久久久| 国产午夜精品全部视频播放| 成人黄色免费网站在线观看| 欧美黄色成人网| 久久人人爽亚洲精品天堂| 美女福利精品视频| 欧美激情中文字幕乱码免费| 日韩中文字幕在线视频播放| 成人久久一区二区| 欧美裸体视频网站| 一本一本久久a久久精品牛牛影视| 久久久久久成人精品| 亚洲跨种族黑人xxx| 久久91亚洲精品中文字幕奶水| 亚洲自拍小视频免费观看| 亚洲国产日韩精品在线| 中文字幕日韩av综合精品| 国内久久久精品| 成人精品视频久久久久| 成人中文字幕在线观看| 亚洲香蕉伊综合在人在线视看| 中文字幕av一区中文字幕天堂| 欧美第一淫aaasss性| 亚洲精品国产精品乱码不99按摩| 欧美野外猛男的大粗鳮| 欧美午夜激情在线| 欧美理论电影在线播放| 欧美在线观看www| 亚洲精品国产精品久久清纯直播| 久久人人爽人人爽人人片亚洲| 亚洲精品美女久久久久| 久久激情视频久久| 日韩欧美亚洲一二三区| 亚洲国产91色在线| 国产一区二区三区18| 久久综合九色九九| 亚洲综合中文字幕68页| 国产日韩欧美视频| 97国产精品视频| 精品国产乱码久久久久久婷婷| 性色av一区二区三区在线观看| 亚洲精品mp4| 亚洲人成在线电影| 久久免费视频网| 久久久www成人免费精品张筱雨| 欧美视频裸体精品| 欧美在线观看日本一区| 欧美日韩在线影院| 欧美成人免费大片| 粉嫩老牛aⅴ一区二区三区| 色综合视频一区中文字幕| 色综合男人天堂| 亚洲欧美www| 欧美日韩激情小视频| 萌白酱国产一区二区| 欧美精品少妇videofree| 日韩一二三在线视频播| 亚洲国产精品一区二区久| 欧美xxxx18性欧美| 欧美视频中文在线看| 亚洲三级av在线| 亚洲香蕉在线观看| 日本一本a高清免费不卡| 欧美日韩亚洲网| 久久久久免费精品国产| 精品久久久久久中文字幕| 亚洲精品视频在线观看视频| 91免费观看网站| 日韩在线观看网址| 欧美亚洲一级片| 亚洲男人的天堂在线播放| 日韩欧美在线视频日韩欧美在线视频| 欧美日韩国产一中文字不卡| 91精品国产99久久久久久| 久久在精品线影院精品国产| 日韩欧中文字幕| 国产日韩欧美中文| 亚洲va国产va天堂va久久| 亚洲**2019国产| 国产精品自产拍在线观| www国产91| 91麻豆国产语对白在线观看| 成人精品一区二区三区电影黑人| 欧美激情三级免费| 国产有码在线一区二区视频| 午夜精品理论片| 国产在线久久久| 激情成人在线视频| 91精品国产高清久久久久久91| 欧美另类极品videosbestfree| 欧美在线视频免费播放| 九九热精品视频国产| 性色av一区二区三区| 成人黄色在线播放| 欧美性xxxx极品hd欧美风情| 久久综合久久88| 国产精品久久国产精品99gif| 亚洲一区二区三区在线免费观看| 免费不卡欧美自拍视频| 中日韩美女免费视频网址在线观看|