作為企業信息化的壹部分,不少企業開始考慮建立企業的短信應用平臺,為企業提供方便靈活的基於短信的雙向交流渠道。目前已有的應用形式包括: 通過短信平臺來群發短信、查詢手機接收的狀態; 針對企業員工的郵件、公文、日程安排等進行短信提醒; 接收手機發來的各種信息,針對不同的信息進行相關的處理,如信息采編、事務批辦、點播等操作。
短信平臺的工作過程
移動運營商為保證接入的壹致性及安全性,要求各服務商通過短信網關接入短信中心,短信系統由以下部分組成:
1.短信信息服務參與實體
服務提供商(Service Provider, SP): 短信信息服務的信息提供者。
短信網關(Internet Short Message Gateway, ISMG): 提供SP與短信中心之間數據交換的通道,采用CMPP(China Mobile Peer to Peer)協議與SP進行連接,采用SMPP 3.3協議與短信中心連接。
短信中心(Short Message Service Center, SMSC): 利用信令網將短消息發送給手機用戶。
2. 短信服務業務的工作過程
用戶發短信業務(即MO業務,如信息點播等):短信中心將短信內容以SMPP協議發給連接的短信網關,短信網關根據短信發送號碼(即SP的服務代碼)將短信內容以CMPP協議發給相應的SP,由SP進行處理。
用戶收短信業務(即MT業務,如短信群發等):提供此項業務的SP將短信內容以CMPP協議發給連接的短信網關,由短信網關根據用戶手機號段以SMPP協議發給用戶所屬的短信中心; 短信中心將短信下發到用戶手機終端上。
系統設計與實現
企業短信應用平臺的建設首先要考慮以下問題:
● 容錯性: 具有良好的容錯判斷,日誌記錄詳細。
● 可擴展性: 平臺針對發送或接收都具有很強的擴展性。在發送功能方面,只需將短信內容添加到短信平臺,由發送服務統壹發送; 在接收功能方面,只需開發人員開發對新增功能的處理即可,在接收上增加新功能時配置不需修改短信收發程序。
● 可靠性: 通過查看發送成功狀態確認手機接收是否成功。
● 可配置性: 無論對短信中心的連接參數,還是重發次數、時間間隔,接收的功能均可以通過配置進行修改和擴充。
● 支持長短信和WAP Push類型的發送。
● 短信個性化定制: 用戶自定義過濾短信功能,用戶可以通過短信個性化界面自定義對短信的發送人、短信郵件地址域名以及短信接收時間的過濾,符合過濾條件的短信將不發送給用戶。
下面介紹短信應用平臺的具體設計與實現。
1. 系統準備及參數設置
為實現與短信網關的互連,企業首先需要向移動運營商申請接入短信網關的接入號、用戶名、密碼、企業代碼,獲得MO、MT端 口號 。在上述前提具備後,企業就可以以SP的身份接入短消息網關。具體涉及以下內容:
● 網絡連接: 申請專線或其他方式連接到移動運營商的短信網關。
● 系統參數: 參數設置包括短信網關IP地址、用戶名、密碼、服務號碼、MT端口、MO端口等信息; 要求狀態報告的短信應用類型集合; WAP Push的類型集合; 發送失敗的重發次數、時間間隔; 告警接收地址等信息。
● 運行環境: 可以基於Windows實現,如Windows 2000 Advance Server與Microsoft SQL Server 2000的組合。
2. 數據庫設計
對於數據庫平臺沒有過多要求,如果企業已經有數據庫平臺,可以繼續沿用。本方案中采用MS SQL 2000,短信應用平臺包括4個數據庫表,分別存放準備發送的消息、接收到的消息、參數配置和接收配置信息。接收配置表用來記錄各種業務代碼對應的處理程序。
3. 網關服務程序設計及實現
短信網關服務包括接收和發送程序,以服務的形式運行,通過CMPP協議與運營商的短消息網關(ISMG)進行通信(參見圖2)。有兩個主進程: 壹個是以發送者身份連接到運營商的短信網關而建立的發送者線程,壹個是以接收者身份連接到運營商短信網關的接收者線程。發送程序主要功能是連接運營商短信網關、監控發送表,把原始短消息經過解析、過濾形成可以發送的短消息,並發送到指定的手機用戶,完成信息的傳送功能; 而接收者進程連接運營商短信網關,接收並分析短信中心發來的各種消息,確認手機接收狀態,實現點播、審批、信息匯總等功能。
(1)短信發送程序
這裏特別需要註意以下三點:
● 對原始短消息過濾是根據個人對短信的過濾設置進行過濾的。
● 發送長短信時,必須嚴格按照協議格式要求,如: 長短信必須以UCS2編碼格式提交,並將消息體內容以Unicode格式編碼,然後對每個Unicode字符高低字節互換。在頭結構中有兩個標識位,壹個用來聲明總條數,壹個用來聲明是第幾條。
● WAP Push類型的短消息有兩部分內容: 消息提示及URL。編碼格式是UTF-8(字節數可變的編碼)格式,要嚴格按照格式要求發送。
(2)接收線程流程
短信接收線程的工作包括: 記錄ISMG的接收確認回執ID; 記錄ISMG返回的手機終端已接收成功的回執信息碼,即狀態報告; 對用戶發送來的短信內容進行分析、處理。
第1項工作用來確認短信網關(ISMG)接收成功。第2項工作情況用來確認手機已經接收到短消息。第3項工作情況需要針對不同的信息進行不同的處理,即根據內容的業務代碼(這裏定義短信內容中特殊分隔符內的信息為業務代碼,也可以使用長代碼功能來定義業務代碼)與接收配置表匹配,調用對應的處理程序,並將除業務代碼外的所有短信內容傳遞給處理程序,由各模塊的程序自行分析、處理,從而保證不修改接收線程,都可以靈活增加接收類型。
用戶發來的消息長度不超過70個漢字長度時,可以正常按消息格式解析; 當用戶發來的消息長度大於70個漢字長度時,短消息中心會分段將消息內容下發,其中消息文本前6個字節是長短信的頭結構。需要通過接收線程將信息解析完整。
4.短信安全
短信數據的安全性讓很多企業擔憂。由於短信傳送的路徑原因擔心短信是否會在中途丟失,以及區分所發短信正確與否都是觀望中的企業考慮之壹。
對於丟失的擔心完全可以利用程序來解決。對於發送的短信,可以加上要求短信中心返回手機接收的確認回執,短信中心發送到手機上之後,在接收到手機接收成功的回執後,將回執返給企業的短信應用平臺。如果短信應用平臺在壹定時間之內沒有接到確認,那麽可以重發。對於手機發給短信應用平臺的信息也同樣,如公文處理,短信應用平臺在接收到用戶發來的信息後,不論處理成功與否,都將處理結果發給用戶。
應用舉例
企業短信應用平臺實現了短信的集中收發,可以在此之上擴展更多的應用,如: 號碼查詢、短信群發、公文短信審批等。
號碼查詢 號碼查詢功能實現查詢企業員工的聯系電話。這裏定義查詢業務代碼為dh,開發查詢程序dhcx,將業務代碼與程序的對應關系添加到接收配置表中。當用戶查詢張三的電話時,在短信內容中輸入“張三”,收件人中輸入“企業的接入號”,發送到企業短信平臺。
短信服務調用dhcx程序進行查詢,dhcx程序將查詢結果返到企業短信平臺,短信服務將結果發給用戶,從而實現了號碼查詢功能。
短信群發 短信群發功能實現企業的短信通知,可以作為會議通知、商業宣傳等應用。短信通知模塊只需將用戶通知內容傳遞到企業短信平臺,由短信服務統壹進行發送。
總體而言,短信作為壹種低成本的承載方式,完全可以為企業所用。上述短信平臺也只是壹個基本的應用框架,我們完全可以在這個短信應用平臺之上進行擴展,實現更多的功能,以滿足企事業單位的不同業務要求。
(作者單位:遼寧移動通信有限責任公司)