滕慶武 朱 青 謝海波
1(湖南大學電氣與信息工程學院 湖南 長沙 410082)2(長沙宏地科技開發有限公司 湖南 長沙 410004)
基于設計的GPS接口通信協議的語音呼叫系統方案
滕慶武1朱 青1謝海波2
1(湖南大學電氣與信息工程學院 湖南 長沙 410082)2(長沙宏地科技開發有限公司 湖南 長沙 410004)
針對混凝土攪拌車企業里出現混凝土攪拌車工作時車輛嚴重偏離軌跡、司機偷油偷料及車輛嚴重超速等情況下,電話語音呼叫系統不能及時語音自動撥號通知客戶,提出一種將語音呼叫系統與車輛定位監控系統的業務服務器連接進行數據交互的語音呼叫系統解決方案。該系統首先進行GPS接口通信協議的設計,然后利用此協議進行語音呼叫系統的各功能模塊的設計,最后進行系統功能測試。實際結果表明,當監控到車輛出現嚴重異常時,語音呼叫系統能夠第一時間自動撥號給車輛企業告知車輛信息,通話過程可以實時監控車輛位置信息,使企業更好地管理車輛、提高效率、節約成本,防止不必要的損失。
攪拌車企業 GPS 呼叫系統 車輛監控平臺 業務服務器 自動撥號
在導航運營服務領域里[1-3],特別是給混凝土車輛企業提供導航運營服務時,越來越多的混凝土攪拌車車輛企業希望在車輛出現嚴重異常時,包括車輛嚴重偏離工作軌跡[4-6]、車輛嚴重超速及司機途中偷油偷料等,導航運營服務企業能夠第一時間通過電話語音呼叫系統自動撥號人工語音告知車輛異常信息,并在車輛監控平臺上直觀顯示,也可在通話時實時顯示車輛位置信息。但是現在的企業電話語音呼叫系統是獨立于車輛定位監控平臺的,通常是通過短信方式或者查找記錄人工撥打指定號碼告知車輛信息,這導致了一定的時延問題。將語音呼叫系統和車輛定位監控系統業務服務器實時連接,進而與車輛監控平臺數據通信就可以解決在車輛嚴重異常時不能及時電話自動撥號,還可以實現語音呼叫系統平臺上實時顯示車輛異常信息。本文就是在此基礎上設計基于一種GPS接口通信協議的語音呼叫系統的解決方案,實現了CTI技術[7-10]、計算機技術、電信技術和導航技術的有效結合。另外,本文系統還就語音服務方面對北斗和GPS進行了比較和分析。
在語音服務中,本文語音呼叫系統中的一個特點是在車輛司機語音通話時可以對車輛位置實時顯示,這就需要可以實時定位到車輛位置。現在基本上都是通過GPS和北斗系統對車輛位置進行定位。
GPS是全球定位系統的簡稱,是美國所研制的,覆蓋全球的全天候導航系統,在1964年投入使用。GPS是由24顆衛星組成(21顆工作衛星和3顆備用衛星),它位于距地表20 200 km的上空,運行周期為12 h。衛星的分布使得在全球任何地方、任何時間都可觀測到4 顆以上的衛星,并能在衛星中預存導航信息。具有如下特點:(1) 覆蓋范圍全球性。(2) 綜合定位精度到達厘米級和毫米級,但是民用領域精度約為10米。(3) 全方位、全天候、全時段、高精度的衛星導航系統, 為全球用戶提供低成本、高精度的三維位置、速度和精確定時等導航信息。
北斗導航系統是我國自主研發的,空間段由5顆靜止軌道衛星和30顆非靜止軌道衛星組成,現階段“北斗”系統已經覆蓋亞太地區,在2020年左右將覆蓋全球。具有如下特點:(1) 覆蓋范圍大,現已覆蓋整個東南亞地區。(2) 民用定位精度可以達到10米左右,但在衛星數較少、衛星分布較差的區域,定位精度較差或無法定位。(3) 為區域服務的用戶提供全天候、實時定位服務。(4) 具有短報文短信功能,實現區域無通信盲區。
綜合北斗和GPS的特點,可以看出北斗系統具有GPS沒有的短報文通信功能。但是北斗還處于發展階段,主要是用在軍用上,民用領域還沒有普及。就語音服務方面,雖然北斗具有短報文通信功能,但是本文語音呼叫系統所需要的車輛位置、報警等信息的內容不固定,有時信息多,有時信息少。北斗的短報文通信功能傳送的內容比較少,在本文語音呼叫系統中,此功能不太適用。本文系統傳送信息主要是通過通用的GPRS傳送,所以語音呼叫系統主要是考慮導航系統的定位功能。在民用定位方面,北斗定位技術還不太成熟,覆蓋范圍目前只是區域性,用戶容量有限,民用普及率不高。GPS定位技術成熟、穩定,定位準確,全球覆蓋,用戶容量無限,在民用工程車輛領域中普及率高,容易推廣。這基本滿足了本文中呼叫系統的語音服務,可以通過利用GPS快速準確定位出車輛位置,再和車輛的其他信息組成數據包實時發送到語音呼叫系統。語音呼叫系統就可以解析出車輛位置等數據為用戶提供可靠、準確的語音服務。故通過上面分析,本文語音呼叫系統所需的車輛位置信息主要通過GPS定位得到。
2.1 協議術語及說明
本協議定義以下術語,如表1所示。

表1 術語表
GPSCP協議是以TCP/IP協議作為底層通信承載的,具體的堆棧結構由圖1所示。

圖1 堆棧結構圖
2.2 通信方式
本協議的通信方式如圖2所示。

圖2 協議通信方式
GPSMT、GPSMP為客戶端,這里GPSMT可以為語音呼叫系統或者車載終端,GPSMP可以為車輛監控平臺,GPSBS為服務端,這里作為業務服務器,起到了響應客戶端,數據中轉的作用。當客戶端要發送命令時,首先是主動向服務器端建立TCP長連接,然后再向服務器端發送命令;服務器端接收客戶端命令后,返回應答給客戶端,客戶端接收應答。連接建立以后,客戶端就可以連續發送多條命令給服務端。如果客戶端由于某種原因需要暫時中斷通信,客戶端應該給服務端發起注銷消息,收到返回應答后主動斷開連接。
當沒有業務數據在信道上傳輸時,客戶端/服務端應每隔時間30秒發送鏈路檢測包以保持此連接, 服務端/客戶端收到鏈路檢測包后,立即返回鏈路檢測應答包。服務端/客戶端在120秒內沒有收到任何消息包,則應斷開此連接。
如果由于某種原因導致客戶端和服務器端連接斷開,客戶端應該嘗試重新連接服務器端,這樣才能繼續發送業務數據包,和服務器端進行通信。
2.3 消息定義
2.3.1 消息的數據類型與組成
消息的數據類型如表2所示。

表2 消息的數據類型
注:消息說明中的長度指所占用字節數。
基于TCP/IP連接的GPSCP協議消息分為消息頭與消息體兩部分,如表3所示。

表3 消息的組成
消息體是由格式良好的XML組成。XML是一種良好的可擴展性語言[11-12]。此XML的根元素必須是
2.3.2 部分消息體描述
1) 電話呼入通知
當客戶撥打平臺服務電話,并且坐席摘機后,語音呼叫系統發送電話呼入通知到業務服務器。具體消息格式如下:
2) 電話呼出
業務服務器由于車輛報警、巡檢等原因請求對指定號碼進行電話呼出操作,發送該請求到語音呼叫系統,語音呼叫系統應主動撥打指定號碼,在電話接通后返回應答,并將語音等相關信息保存到數據庫。具體消息格式如下:
現在的企業電話語音呼叫系統一般都有IVR交互式語音模塊、ACD自動呼叫分配模塊、坐席人員登錄簽退模塊、電話呼入模塊、電話呼出模塊、錄音模塊、數據庫模塊等功能模塊。本文設計的語音呼叫系統除了具有這些一般功能外,還具有一些符合特定領域的功能模塊,包括自動撥號模塊、中心監聽車輛異常模塊和連接車輛定位監控系統業務服務器模塊。功能模塊圖如圖3所示。

圖3 功能模塊流程圖
3.1 系統方案整體架構
本文提出的電話語音呼叫系統的解決方案是通過在語音呼叫系統中加入設計的GPS接口通信協議和車輛定位監控系統業務服務器相連接,進而與車輛定位監控平臺聯系,形成完整統一的語音呼叫系統。系統架構如圖4所示。

圖4 系統整體結構
在圖4系統整體結構圖中,包括四個主部分:攪拌車車輛(車載終端)、車輛定位監控系統業務服務器、企業語音呼叫系統及車輛定位監控平臺。車載終端主要是接受車輛位置等狀態信息及收集混凝土攪拌車輛的油量和混凝土的使用情況,將這些數據通過GPRS(通用分組無線服務技術)傳輸到業務服務器。車輛定位監控系統業務服務器是接收各客戶端的請求,并響應處理,進而將接收到的數據進行中轉。車輛定位監控平臺一方面是實時監控顯示車輛信息及利用后臺應用程序對車載GPS終端上傳的數據進行分析和綜合,判斷車輛司機是否偷油偷料,車輛是否處于嚴重超速等異常狀態,之后會自動產生一個報警消息,通過業務服務器依照程序底層的GPS接口通信協議將報警消息發送到語音呼叫系統。另一方面,車輛定位監控平臺會對語音呼叫系統上傳的數據進行判斷,下發相應的數據信息給語音呼叫系統。企業語音呼叫系統主要是完成企業正常的電話呼入、呼出,為客戶提供語音服務,另外在接收到監控平臺通過業務服務器發來的報警消息后,解析報警消息內容,得到客戶信息,會通過應用程序自動撥號連接客服與指定號碼的客戶(包括車輛司機)告知車輛異常信息,通話過程中,會在語音呼叫系統平臺上實時顯示車輛位置等信息。
3.2 語音通話實現設計及與定位的組合關系
本文系統通話實現主要是基于東進公司的K161A-E16線模擬接口語音卡以及與語音卡配套的Keygoe系統。Keygoe系統是一個獨立的設備,可以單獨運行。用戶可以在Keygoe系統上進行開發,從而構建出獨有的、個性化的業務應用。本語音系統就是在Keygoe系統上進行開發的,利用Keygoe系統進行一系列電話調度。另外,東進公司在 Keygoe 上提供了編程接口EasyAPI。 EasyAPI 提供了一組函數。通過這組函數,應用程序能夠與 Keygoe 交互,也能夠得到 Keygoe 返回的事件,從而控制 Keygoe系統進行語音板卡操作語音通話。注:關于東進公司16線模擬接口語音卡、Keygoe系統及Keygoe系統編程請參考公司官網提供的用戶手冊和編程手冊,這里就不在詳細闡述。
語音通話實現及與定位關系的流程如圖5所示。

圖5 語音通話實現及與車輛定位組合關系圖
在圖5中可以反映出語音通話實現流程及語音通話與車輛定位的組合關系。首先,Keygoe系統啟動,利用GPSCP協議將語音系統連接到車輛監控平臺業務服務器。之后,語音呼叫系統不斷檢測是否有外界電話呼入或內部呼出。如果有,就利用應用程序中My_GetDtmfCode()函數調用Keygoe中FetchEventData()函數獲得主叫號碼,并將號碼以GPSCP協議通信方式通過業務服務器上傳到車輛定位定位監控平臺,監控后臺程序就會獲得主叫號碼,會按照號碼查找數據庫獲得用戶信息,之后再根據用戶信息調用車輛定位程序獲得車載GPS終端上傳的指定車輛的位置信息。監控后臺程序會將車輛位置信息及用戶信息以GPSCP協議的消息格式組成數據包下發到語音呼叫系統。語音系統接收到數據包之后,會按照協議的消息格式解析出數據。最后會再次判斷電話是呼入還是呼出,如果是呼入,就會觸發Keygoe系統中XMS_EVT_CALLIN事件,并調用Keygoe系統中XMS_cts_MakeCallout函數并傳入號碼等參數,連接語音卡中繼和坐席通道接通電話進行通話,同時也會在語音呼叫系統界面實時顯示車輛位置等信息。如果是呼出,就會觸發Keygoe系統中XMS_EVT_CALLOUT事件,并調用Keygoe系統中XMS_cts_MakeCallout函數并傳入號碼等參數,連接語音卡坐席和中繼通道接通電話進行通話,同時也會在語音呼叫系統界面實時顯示車輛位置等信息。
3.3 車輛異常時呼叫系統電話自動撥號設計
現在的中小型導航運營服務企業的車輛監控系統在監控到混凝土攪拌車等工程車輛出現嚴重異常時,不能第一時間通過語音呼叫系統自動撥號指定號碼人工語音告知車輛企業車輛異常信息。一般是通過在監控平臺人工查找異常記錄獲得用戶信息,再手動撥號通過語音呼叫系統撥打車輛企業告知車輛信息。這導致了一定時延問題,這就要求語音系統能夠檢測到車輛異常,并能夠自動獲得用戶信息自動撥號車輛企業告知車輛異常信息。主要流程如圖6所示。

圖6 車輛異常電話自動撥號
如圖6所示,首先在語音呼叫系統中加入一個監聽車輛異常報警消息線程實時監測是否有車輛異常報警消息下發,當車輛出現嚴重異常時,車載GPS終端會主動上傳車輛異常信息給車輛定位監控平臺,后臺應用程序收到異常信息后會綜合分析以及通過查找數據庫獲得異常車輛的用戶信息組成數據包(報警消息)主動以GPSCP協議形式下發到語音呼叫系統,語音系統監聽線程檢測到報警消息后會主動接收報警消息,并且解析出車輛異常及用戶信息。這時會主動觸發Keygoe系統中XMS_EVT_CALLOUT事件,并調用Keygoe系統中XMS_cts_MakeCallout函數并傳入號碼等參數,連接語音卡坐席和中繼通道,自動撥打指定號碼告知車輛企業車輛異常信息。通話時,也會在語音呼叫系統界面實時顯示車輛異常等信息。
3.4 位置欺騙及安全方面預測
現實中,在混凝土攪拌車領域,車輛司機可能會在與車輛企業實際通話過程中對車輛的實際位置進行欺騙。但是由于這些混凝土攪拌車輛一般都是統一管理的,出現這種位置欺騙也是很少的。從系統建設的角度,本文系統地對幾個常見的位置欺騙進行了預測,使得系統更加安全實用。一般常見位置欺騙行為有如下三種:
1) 通話過程謊稱車輛故障,工作途中長時間停車。
2) 車輛未在工作工地上,謊稱車輛正在工作。
3) 使用數據庫查找不到的手機號碼,謊稱車輛位置。
針對第一種情況,由于車輛路障屬于車輛嚴重異常情況,語音呼叫系統設計自動撥號功能。如果沒有發生自動撥號事件,說明出現司機位置欺騙行為。第二種情況,主要是通過注冊車輛司機號碼和車輛綁定,這樣車輛監控平臺就可以從數據庫中查到車輛司機信息,實時定位車輛實際位置,并下發到呼叫系統顯示。就可以根據下發到的車輛位置和工作地位置是否一樣來判斷位置欺騙行為。第三種情況,所用手機號碼不能查到,就無法定位車輛實際位置,這種情況就需要人工手動查找車輛信息,在定位車輛實際位置。
本文系統界面如圖7所示。

圖7 語音呼叫系統通話主界面
起初圖7中流程狀態全為空閑,此時表示有電話事件如上圖。上圖左下角中可以很直觀地顯示各個事件,右下角進行中繼、坐席配置。圖左下角可以看出呼叫系統已經連接上車輛監控平臺業務服務器,可以和監控平臺通信。對于圖7中可以雙擊來電號碼可以進行監控。
當圖7語音呼叫系統主界面中通道1中有電話呼出時,雙擊來電號碼,可以進行電話監控如圖8所示。

圖8 呼出電話監控界面
圖8的幾點說明如下:
通話狀態:1正在通話;2通話已結束。
通話類型:1呼入;2呼出;3車輛異常時自動撥號。
車輛異常情況:1無異常(對應于呼入或呼出類型);2有異常又分為司機偷油偷料、嚴重超速及車輛發生故障(對應于車輛異常時自動撥號類型)。
位置欺騙預測:主要是針對3.4節中的三種位置欺騙行為。
結合說明,圖8中可以很直觀地顯示當前通話的客戶名稱以及車輛司機姓名、來電號碼和來電時間。并且圖中還可以顯示當前通話狀態是正在通話類型時呼出。另外,可以實時監控指定車輛的實際位置,還有車輛異常情況以及通話過程中是否有位置欺騙行為。上圖顯示的通話監控界面可以看出當前指定車輛沒有異常發生,司機沒有位置欺騙行為。
雙擊圖7中通道2的來電號碼,可以進行自動撥號電話監控如圖9所示。

圖9 自動撥號電話監控
圖9中,可以很直觀地看出通話類型為自動撥號。顯示的客戶名稱和圖8中一樣,說明來自同一個公司。另外也可以監控到來電號碼及來電時間,并且此時自動撥號通話已經結束。在圖9中一樣可以監控到車輛實際位置,而電話自動撥號是由于車倆出現異常情況,即車輛是在路口嚴重超速。但是通話時,司機并沒有發生位置欺騙,沒有隱瞞自己的行為,這些都可以上圖中直觀看出。
雙擊圖7中通道10的來電號碼,可以進行呼入電話監控如圖10所示。

圖10 呼入電話監控
如圖10中一樣可以對呼入電話監控,可以實時顯示當前通話的客戶名稱以及車輛司機姓名,來電號碼、來電時間、通話狀態和指定車輛的實際位置。另外,上圖顯示的通話監控界面可以看出當前指定車輛沒有異常發生,但是司機存在位置欺騙行為,即車輛未在工作工地上,謊稱車輛正在工作。
通過這些直觀結果,可以看出本文語音呼叫系統基本實現預期功能,符合系統的建設,可以很好地適應導航運營服務企業實際的需求,具有很好的實用價值。
本文設計了一套面向導航運營服務企業的電話語音呼叫系統的解決方案。本系統與車輛定位監控平臺有效聯系,實現了在通話過程中實時顯示車輛位置等信息,而且在車輛嚴重異常時能夠及時電話自動撥號給客戶告知車輛信息,解決了人工查找記錄撥打或短信方式告知客戶異常車輛信息出現的時延問題,滿足了混凝土攪拌車企業的實際需求,一定程度上提高了語音服務質量。另外,本文系統在位置欺騙及安全方面考慮的情況還是比較少,在今后系統實際運行中還需要進一步完善與研究。對于中小型的導航運營服務企業來說,本系統已經可以滿足實際的要求了,本系統解決方案已在一家小型導航運營服務企業推廣。
[1] 張鳳傳,苗玉彬,劉印鋒,等.基于GPS/GPRS/GIS的智能公交監控系統[J].計算機工程,2008,34(22):277-279.
[2] 張錦明,付永恒.基于GPS/GPRS的位置信息服務系統的設計與實現[J].測繪通報,2007(11):30-33.
[3] 朱翠青.基于GPRS/GPS的車輛定位監控系統的設計與實現[D].上海:華東師范大學,2008.
[4] 程一沛.基于GPS/GIS/GPRS的車輛監控管理系統的設計與開發[D].西安:西安科技大學,2009.
[5] 王晴婉,朱家友.基于GPS_GPRS車輛監控終端設計與實現[J].通信技術,2009,42(9):121-123.
[6] 唐運虞,劉向東,修春波.基于GPS/GPRS的車輛監控系統的設計[J].計算機系統應用,2007(10):40-43.
[7] 趙秀煥,蔡樂才,張略.基于CTI的交互式電話語音系統的設計與實現[J].四川理工學院學報(自然科學版),2009,22(1):32-34.
[8] 徐雅斌,張云帆.基于CTI技術的呼叫中心的設計與實現[J].計算機工程,2007,33(5):232-234.
[9] 張雷.中小型企業多媒體呼叫中心的設計與實現[D].上海:上海交通大學,2008.
[10] 何成林,杜利民.電話語音監控系統的設計與實現[J].微計算機應用,2006,27(2):174-176.
[11] 鄧彥杰.基于XML的安全通-XML Engine[D].成都:電子科技大學,2004.
[12] 章勛,楊家海,王繼龍.基于XML技術的網絡配置管理系統[J].計算機工程,2008,34(2):127-129.
A VOICE CALLING SYSTEM SCHEME BASED ON DESIGNED GPS COMMUNICATION PROTOCOL
Teng Qingwu1Zhu Qing1Xie Haibo2
1(CollegeofElectricalandInformationEngineering,HunanUniversity,Changsha410082,Hunan,China)2(ChangshaGralandScienceandTechnologyDevelopmentCo.,Ltd,Changsha410004,Hunan,China)
When the concrete mixer truck works in the concrete mixer business, the vehicle is seriously deviated from the track, the driver steals the oil, and the vehicle is seriously overdriven, the telephone voice call system can’t promptly automatic dialing to notify customers. A voice calling system scheme is proposed which is connected with the service server of the vehicle positioning and monitoring system for data exchange. The system firstly designs the communication protocol of GPS interface, then uses this protocol to design the function module of the voice calling system, and finally carries on the system function test. The actual results show that the voice calling system can timely inform business about the vehicle information by autodial as soon as monitoring to the vehicle abnormality. Call process can be real-time monitoring of vehicle location information, enabling enterprises to better manage vehicles, improve efficiency, save costs and prevent unnecessary losses.
Mixer business GPS Calling system Vehicle monitoring platform Business server Autodial
2016-06-26。國家自然科學基金項目(61175075)。滕慶武,碩士生,主研領域:現代網絡與通信技術。朱青,副教授。謝海波,工程師。
TP393
A
10.3969/j.issn.1000-386x.2017.06.022