手機短信作為一種非常重要的溝通方式,正在被越來越多的企業(yè)重視。本文介紹的企業(yè)短信應用平臺簡單易行,可以為企業(yè)提供方便靈活的、基于短信的雙向交流渠道。
多年來,及時準確地采集前端銷售數(shù)據(jù)、快速地將各種消息傳遞給目標人群一直是各類企業(yè)追求的目標。盡管PC加互聯(lián)網(wǎng)是很好的手段,但由于體積大,無論是放在柜臺上還是用戶攜帶都不便,而如果每人配備一臺筆記本電腦或PDA的投入又比較大。另一方面,根據(jù)信息產(chǎn)業(yè)部的統(tǒng)計數(shù)據(jù),2005年我國移動電話用戶已超過3.9億戶,全年手機短信發(fā)送量3046億條,比2004年短信增長了40%,比2000年增長了303%。手機普及率的提高,再加上短信的價格低廉,使得短信逐步深入到我們的生活之中。
作為企業(yè)信息化的一部分,不少企業(yè)開始考慮建立企業(yè)的短信應用平臺,為企業(yè)提供方便靈活的基于短信的雙向交流渠道。目前已有的應用形式包括: 通過短信平臺來群發(fā)短信、查詢手機接收的狀態(tài); 針對企業(yè)員工的郵件、公文、日程安排等進行短信提醒; 接收手機發(fā)來的各種信息,針對不同的信息進行相關(guān)的處理,如信息采編、事務批辦、點播等操作。
短信平臺的工作過程
移動運營商為保證接入的一致性及安全性,要求各服務商通過短信網(wǎng)關(guān)接入短信中心,短信系統(tǒng)由以下部分組成:
1.短信信息服務參與實體
服務提供商(Service Provider, SP): 短信信息服務的信息提供者。
短信網(wǎng)關(guān)(Internet Short Message Gateway, ISMG): 提供SP與短信中心之間數(shù)據(jù)交換的通道,采用CMPP(China Mobile Peer to Peer)協(xié)議與SP進行連接,采用SMPP 3.3協(xié)議與短信中心連接。
短信中心(Short Message Service Center, SMSC): 利用信令網(wǎng)將短消息發(fā)送給手機用戶。
2. 短信服務業(yè)務的工作過程
用戶發(fā)短信業(yè)務(即MO業(yè)務,如信息點播等):短信中心將短信內(nèi)容以SMPP協(xié)議發(fā)給連接的短信網(wǎng)關(guān),短信網(wǎng)關(guān)根據(jù)短信發(fā)送號碼(即SP的服務代碼)將短信內(nèi)容以CMPP協(xié)議發(fā)給相應的SP,由SP進行處理。
用戶收短信業(yè)務(即MT業(yè)務,如短信群發(fā)等):提供此項業(yè)務的SP將短信內(nèi)容以CMPP協(xié)議發(fā)給連接的短信網(wǎng)關(guān),由短信網(wǎng)關(guān)根據(jù)用戶手機號段以SMPP協(xié)議發(fā)給用戶所屬的短信中心; 短信中心將短信下發(fā)到用戶手機終端上。
系統(tǒng)設計與實現(xiàn)
企業(yè)短信應用平臺的建設首先要考慮以下問題:
● 容錯性: 具有良好的容錯判斷,日志記錄詳細。
● 可擴展性: 平臺針對發(fā)送或接收都具有很強的擴展性。在發(fā)送功能方面,只需將短信內(nèi)容添加到短信平臺,由發(fā)送服務統(tǒng)一發(fā)送; 在接收功能方面,只需開發(fā)人員開發(fā)對新增功能的處理即可,在接收上增加新功能時配置不需修改短信收發(fā)程序。
● 可靠性: 通過查看發(fā)送成功狀態(tài)確認手機接收是否成功。
● 可配置性: 無論對短信中心的連接參數(shù),還是重發(fā)次數(shù)、時間間隔,接收的功能均可以通過配置進行修改和擴充。
● 支持長短信和WAP Push類型的發(fā)送。
● 短信個性化定制: 用戶自定義過濾短信功能,用戶可以通過短信個性化界面自定義對短信的發(fā)送人、短信郵件地址域名以及短信接收時間的過濾,符合過濾條件的短信將不發(fā)送給用戶。
下面介紹短信應用平臺的具體設計與實現(xiàn)。
1. 系統(tǒng)準備及參數(shù)設置
為實現(xiàn)與短信網(wǎng)關(guān)的互連,企業(yè)首先需要向移動運營商申請接入短信網(wǎng)關(guān)的接入號、用戶名、密碼、企業(yè)代碼,獲得MO、MT端口號。在上述前提具備后,企業(yè)就可以以SP的身份接入短消息網(wǎng)關(guān)。具體涉及以下內(nèi)容:
● 網(wǎng)絡連接: 申請專線或其他方式連接到移動運營商的短信網(wǎng)關(guān)。
● 系統(tǒng)參數(shù): 參數(shù)設置包括短信網(wǎng)關(guān)IP地址、用戶名、密碼、服務號碼、MT端口、MO端口等信息; 要求狀態(tài)報告的短信應用類型集合; WAP Push的類型集合; 發(fā)送失敗的重發(fā)次數(shù)、時間間隔; 告警接收地址等信息。
● 運行環(huán)境: 可以基于Windows實現(xiàn),如Windows 2000 Advance Server與Microsoft SQL Server 2000的組合。
2. 數(shù)據(jù)庫設計
對于數(shù)據(jù)庫平臺沒有過多要求,如果企業(yè)已經(jīng)有數(shù)據(jù)庫平臺,可以繼續(xù)沿用。本方案中采用MS SQL 2000,短信應用平臺包括4個數(shù)據(jù)庫表,分別存放準備發(fā)送的消息、接收到的消息、參數(shù)配置和接收配置信息。接收配置表用來記錄各種業(yè)務代碼對應的處理程序。
3. 網(wǎng)關(guān)服務程序設計及實現(xiàn)
短信網(wǎng)關(guān)服務包括接收和發(fā)送程序,以服務的形式運行,通過CMPP協(xié)議與運營商的短消息網(wǎng)關(guān)(ISMG)進行通信(參見圖2)。有兩個主進程: 一個是以發(fā)送者身份連接到運營商的短信網(wǎng)關(guān)而建立的發(fā)送者線程,一個是以接收者身份連接到運營商短信網(wǎng)關(guān)的接收者線程。發(fā)送程序主要功能是連接運營商短信網(wǎng)關(guān)、監(jiān)控發(fā)送表,把原始短消息經(jīng)過解析、過濾形成可以發(fā)送的短消息,并發(fā)送到指定的手機用戶,完成信息的傳送功能; 而接收者進程連接運營商短信網(wǎng)關(guān),接收并分析短信中心發(fā)來的各種消息,確認手機接收狀態(tài),實現(xiàn)點播、審批、信息匯總等功能。
(1)短信發(fā)送程序
這里特別需要注意以下三點:
● 對原始短消息過濾是根據(jù)個人對短信的過濾設置進行過濾的。
● 發(fā)送長短信時,必須嚴格按照協(xié)議格式要求,如: 長短信必須以UCS2編碼格式提交,并將消息體內(nèi)容以Unicode格式編碼,然后對每個Unicode字符高低字節(jié)互換。在頭結(jié)構(gòu)中有兩個標識位,一個用來聲明總條數(shù),一個用來聲明是第幾條。
● WAP Push類型的短消息有兩部分內(nèi)容: 消息提示及URL。編碼格式是UTF-8(字節(jié)數(shù)可變的編碼)格式,要嚴格按照格式要求發(fā)送。
(2)接收線程流程
短信接收線程的工作包括: 記錄ISMG的接收確認回執(zhí)ID; 記錄ISMG返回的手機終端已接收成功的回執(zhí)信息碼,即狀態(tài)報告; 對用戶發(fā)送來的短信內(nèi)容進行分析、處理。
第1項工作用來確認短信網(wǎng)關(guān)(ISMG)接收成功。第2項工作情況用來確認手機已經(jīng)接收到短消息。第3項工作情況需要針對不同的信息進行不同的處理,即根據(jù)內(nèi)容的業(yè)務代碼(這里定義短信內(nèi)容中特殊分隔符內(nèi)的信息為業(yè)務代碼,也可以使用長代碼功能來定義業(yè)務代碼)與接收配置表匹配,調(diào)用對應的處理程序,并將除業(yè)務代碼外的所有短信內(nèi)容傳遞給處理程序,由各模塊的程序自行分析、處理,從而保證不修改接收線程,都可以靈活增加接收類型。
用戶發(fā)來的消息長度不超過70個漢字長度時,可以正常按消息格式解析; 當用戶發(fā)來的消息長度大于70個漢字長度時,短消息中心會分段將消息內(nèi)容下發(fā),其中消息文本前6個字節(jié)是長短信的頭結(jié)構(gòu)。需要通過接收線程將信息解析完整。
4.短信安全
短信數(shù)據(jù)的安全性讓很多企業(yè)擔憂。由于短信傳送的路徑原因擔心短信是否會在中途丟失,以及區(qū)分所發(fā)短信正確與否都是觀望中的企業(yè)考慮之一。
對于丟失的擔心完全可以利用程序來解決。對于發(fā)送的短信,可以加上要求短信中心返回手機接收的確認回執(zhí),短信中心發(fā)送到手機上之后,在接收到手機接收成功的回執(zhí)后,將回執(zhí)返給企業(yè)的短信應用平臺。如果短信應用平臺在一定時間之內(nèi)沒有接到確認,那么可以重發(fā)。對于手機發(fā)給短信應用平臺的信息也同樣,如公文處理,短信應用平臺在接收到用戶發(fā)來的信息后,不論處理成功與否,都將處理結(jié)果發(fā)給用戶。
應用舉例
企業(yè)短信應用平臺實現(xiàn)了短信的集中收發(fā),可以在此之上擴展更多的應用,如: 號碼查詢、短信群發(fā)、公文短信審批等。
號碼查詢 號碼查詢功能實現(xiàn)查詢企業(yè)員工的聯(lián)系電話。這里定義查詢業(yè)務代碼為dh,開發(fā)查詢程序dhcx,將業(yè)務代碼與程序的對應關(guān)系添加到接收配置表中。當用戶查詢張三的電話時,在短信內(nèi)容中輸入“張三”,收件人中輸入“企業(yè)的接入號”,發(fā)送到企業(yè)短信平臺。
短信服務調(diào)用dhcx程序進行查詢,dhcx程序?qū)⒉樵兘Y(jié)果返到企業(yè)短信平臺,短信服務將結(jié)果發(fā)給用戶,從而實現(xiàn)了號碼查詢功能。
短信群發(fā) 短信群發(fā)功能實現(xiàn)企業(yè)的短信通知,可以作為會議通知、商業(yè)宣傳等應用。短信通知模塊只需將用戶通知內(nèi)容傳遞到企業(yè)短信平臺,由短信服務統(tǒng)一進行發(fā)送。
總體而言,短信作為一種低成本的承載方式,完全可以為企業(yè)所用。上述短信平臺也只是一個基本的應用框架,我們完全可以在這個短信應用平臺之上進行擴展,實現(xiàn)更多的功能,以滿足企事業(yè)單位的不同業(yè)務要求。
|