專利名稱:用戶識別模塊工具套件的實時模擬開發(fā)方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及智能卡的開發(fā),尤其涉及SIM卡STK(SIM卡工具套件)或UIM卡UTK(UIM卡工具套件)等用戶識別模塊工具套件的模擬開發(fā)方法及系統(tǒng)。
背景技術:
目前,智能卡軟件開發(fā)過程比較繁瑣,無法實現(xiàn)SIM卡STK功能或UIM卡UTK功能等的實時、實網(wǎng)模擬調(diào)試,必須要在成卡階段借助輔助手段才能夠進行后期軟件仿真,同時對真實手機、網(wǎng)絡和數(shù)據(jù)采集器的依賴性過大。如何簡化智能卡軟件的開發(fā)過程,以及減少對手機和網(wǎng)絡的依賴,提高開發(fā)的效率,成為關注的問題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題是提供一種用戶識別模塊工具套件的實時模擬開發(fā)方法,以實現(xiàn)SIM卡STK功能、UIM卡UTK功能等的實時、實網(wǎng)模擬調(diào)試。本發(fā)明還要提供一種實現(xiàn)上述方法的系統(tǒng)。
為了解決上述技術問題,本發(fā)明提供了一種用戶識別模塊工具套件的實時模擬開發(fā)方法,包括以下步驟(a)建立一個模擬開發(fā)系統(tǒng),包括在計算機上實現(xiàn)的用戶識別模塊的仿真卡、模擬操作模塊和網(wǎng)絡交互模塊,以及插入有用戶識別模塊的手機和通訊網(wǎng)絡;(b)所述用戶識別模塊在手機對其進行初始化過程中,建立對設定事件的監(jiān)控;所述模擬操作模塊與所述仿真卡之間也通過數(shù)據(jù)交互完成用戶識別模塊工具套件菜單的初始化;
(c)等待調(diào)試人員對所述菜單進行操作,操作后,所述模擬操作模塊將操作指令通過接口發(fā)送給所述仿真卡,所述仿真卡對所述模擬操作模塊返回的數(shù)據(jù)進行處理,并將結果數(shù)據(jù)發(fā)送回所述模擬操作模塊;(d)所述模擬操作模塊根據(jù)返回數(shù)據(jù)更新模擬界面顯示,并判斷是否涉及網(wǎng)絡操作,如果不涉及,返回步驟(c),如果涉及,將操作信息發(fā)送到所述網(wǎng)絡交互模塊,執(zhí)行下一步;(e)所述網(wǎng)絡交互模塊再將操作信息發(fā)送給所述手機,由該手機和用戶識別模塊完成相應的操作;(f)所述手機有相應的監(jiān)控事件發(fā)生時會通知所述用戶識別模塊,所述用戶識別模塊再將事件結果的信息經(jīng)網(wǎng)絡交互模塊發(fā)送到所述模擬操作模塊;(g)所述模擬操作模塊根據(jù)事件結果信息在屏幕上進行顯示,并通過接口發(fā)回到所述仿真卡處理,返回步驟(c)。
進一步地,上述實時模擬開發(fā)方法可具有以下特點所述步驟(b)中建立監(jiān)控的設定事件包括MT呼叫、呼叫連接、呼叫斷開、位置狀態(tài)中的一種或任意組合,所述步驟(f)中相應的監(jiān)控事件包括為MT呼叫、呼叫連接、呼叫斷開、位置狀態(tài)、二級短信息和位置信息中的一種或任意組合。
進一步地,上述實時模擬開發(fā)方法可具有以下特點所述用戶識別模塊在初始化時建立一塊事件緩存區(qū),先將從手機收到的事件結果存儲在該緩存區(qū)內(nèi),在收到所述網(wǎng)絡交互模塊的查詢指令后,再從該緩存區(qū)取出事件結果發(fā)送給所述網(wǎng)絡交互模塊。
進一步地,上述實時模擬開發(fā)方法可具有以下特點所述網(wǎng)絡交互模塊和手機間通過AT指令進行交互,對于AT指令不支持的操作信息,由所述網(wǎng)絡交互模塊將其編碼轉(zhuǎn)換為標準AT指令后,經(jīng)手機發(fā)送到所述用戶識別模塊由其解碼處理;對于AT指令不支持的事件結果信息,由所述用戶識別模塊將其編碼轉(zhuǎn)換為標準的AT指令應答后,再經(jīng)手機發(fā)送到所述網(wǎng)絡交互模塊由其解碼處理。
進一步地,上述實時模擬開發(fā)方法可具有以下特點所述網(wǎng)絡交互模塊與所述模擬操作模塊之間通過進程間的通訊接口進行信息交互,所述模擬操作模塊與所述仿真卡之間按照標準ISO7816協(xié)議通過套接字接口進行信息交互。
進一步地,上述實時模擬開發(fā)方法可具有以下特點所述建立的模擬開發(fā)系統(tǒng)中還包括一個在計算機上模擬的空中下載服務器,所述步驟(c)中,如果調(diào)試人員進行了空中下載的操作,直接交給該空中下載服務器,由該空中下載服務器按照預定協(xié)議組織下行數(shù)據(jù),經(jīng)網(wǎng)絡交互模塊發(fā)送給所述模擬操作模塊顯示,再發(fā)送到所述仿真卡。
為了解決上述技術問題,本發(fā)明提供的用戶識別模塊工具套件的實時模擬開發(fā)系統(tǒng)包括開發(fā)時所用軟件調(diào)試環(huán)境構成的用戶識別模塊工具套件的仿真卡、手機和通訊網(wǎng)絡,其特征在于,還包括模擬操作模塊、網(wǎng)絡交互模塊和用戶識別模塊,所述仿真卡、模擬操作模塊和網(wǎng)絡交互模塊在計算機上實現(xiàn),所述用戶識別模塊插入在所述手機內(nèi),其中所述仿真卡包括要調(diào)試的用戶識別模塊工具套件及與所述模擬操作模塊間通訊的接口;所述模擬操作模塊用于實現(xiàn)真實手機上使用用戶識別模塊工具套件業(yè)務的模擬,將操作指令下發(fā)給所述仿真卡并接收返回結果,將其中涉及網(wǎng)絡操作的信息提交給所述網(wǎng)絡交互模塊并接收其下發(fā)的事件結果信息,再發(fā)送到所述仿真卡;所述網(wǎng)絡交互模塊用于將所述模擬操作模塊發(fā)來信息組織為手機可以識別的指令,發(fā)送到所述手機并接收其返回的事件結果信息,再將該結果信息傳送給所述模擬操作模塊;所述用戶識別模塊在標準用戶識別模塊的基礎上,還將所述手機發(fā)來的設定事件的結果信息組織為所述網(wǎng)絡交互模塊發(fā)送指令的應答所要求的格式,經(jīng)所述手機發(fā)送到所述網(wǎng)絡交互模塊。
進一步地,上述實時模擬開發(fā)系統(tǒng)可具有以下特點所述模擬操作模塊進一步包括協(xié)議分析處理單元、指令顯示單元、指令操作單元、與所述仿真卡間的通訊接口以及與所述網(wǎng)絡交互模塊間的通訊接口,其中所述協(xié)議分析處理單元用于將用戶操作按照協(xié)議轉(zhuǎn)化為所述仿真卡可識別指令經(jīng)接口下發(fā)給該仿真卡,對所述仿真卡返回的數(shù)據(jù),分析其是否符合規(guī)范,并加工轉(zhuǎn)化為可以識別的數(shù)據(jù)結構;所述指令顯示單元用于提供操作所需的圖形界面,并在接收到所述協(xié)議分析處理單元加工好的數(shù)據(jù)后在屏幕上顯示返回的信息;所述指令操作單元用于接受用戶的有效操作,調(diào)用所述協(xié)議分析處理單元將用戶的操作轉(zhuǎn)化后下發(fā)給所述仿真卡;與所述仿真卡間的通訊接口用于實現(xiàn)所述模擬操作模塊和所述仿真卡之間信息的雙向傳遞;與所述網(wǎng)絡交互模塊間的通訊接口,用于通過進程間的通訊實現(xiàn)模擬操作模塊和網(wǎng)絡交互模塊之間信息的雙向傳遞。
進一步地,上述實時模擬開發(fā)系統(tǒng)可具有以下特點所述仿真卡與所述模擬操作模塊之間的接口包括直接進行數(shù)據(jù)交換的ISO7816邏輯接口,以及用套接字實現(xiàn)的與該邏輯接口協(xié)調(diào)工作的通用數(shù)據(jù)接口。
進一步地,上述實時模擬開發(fā)系統(tǒng)可具有以下特點所述模擬操作模塊與所述網(wǎng)絡交互模塊之間采用進程間的通訊接口交互信息。
進一步地,上述實時模擬開發(fā)系統(tǒng)可具有以下特點所述模擬操作模塊還包括短信邏輯接口,用于通過套接字開放短信通道。
進一步地,上述實時模擬開發(fā)系統(tǒng)可具有以下特點所述模擬操作模塊和所述仿真卡上均還包括一個開放的ISO7816邏輯接口。
進一步地,上述實時模擬開發(fā)系統(tǒng)可具有以下特點所述網(wǎng)絡交互模塊進一步包括進程間通訊接口、指令發(fā)送接收單元、信息翻譯單元和信息查詢單元,其中所述進程間通訊接口用于實現(xiàn)和所述模擬操作模塊間信息的雙向傳遞;
所述指令發(fā)送接收單元用于將所述模擬操作模塊發(fā)來的信息組織為AT指令,完成與所述手機之間的AT指令的發(fā)送與接收,并將從所述手機接收的AT指令轉(zhuǎn)化為APDU格式后,再傳送到所述模擬操作模塊;所述信息翻譯單元用于將AT指令不支持的操作信息編碼轉(zhuǎn)換為標準AT指令,并對所述手機返回的擴展的AT指令進行解碼;所述信息查詢單元用于向所述手機發(fā)送AT指令,查詢所述手機當前的狀態(tài)以及所述用戶識別模塊接收到的事件結果信息。
進一步地,上述實時模擬開發(fā)系統(tǒng)可具有以下特點所述指令發(fā)送接收單元內(nèi)部還包括上行和下行方向的兩套消息隊列,用于在數(shù)據(jù)傳遞時進行一定的協(xié)調(diào)。
進一步地,上述實時模擬開發(fā)系統(tǒng)可具有以下特點所述用戶識別模塊進一步包括信息暫存單元、指令編解碼單元和指令監(jiān)控單元,其中所述信息暫存單元用于對所述手機發(fā)來的設定事件的監(jiān)控通知中的信息進行記錄,暫存在事件緩存區(qū)中;所述指令編解碼單元用于對緩存區(qū)的信息進行編碼,使之符合標準AT指令的結構,并對發(fā)來的擴展的AT指令進行解碼;所述指令監(jiān)控單元用于對所有發(fā)給所述用戶識別模塊的指令進行監(jiān)控,當收到設定事件的監(jiān)控通知時,通知所述信息暫存單元暫存;當發(fā)現(xiàn)所述網(wǎng)絡交互模塊發(fā)來的查詢指令時,調(diào)用所述指令編解碼單元編碼下發(fā);當收到其他指令時,轉(zhuǎn)入正常的處理流程。
進一步地,上述實時模擬開發(fā)系統(tǒng)可具有以下特點所述網(wǎng)絡交互模塊中還包括一個模擬的空中下載服務器,用于在虛擬網(wǎng)絡運行時模擬真實的與空中下載有關的增值服務,采用函數(shù)調(diào)用的方式實現(xiàn)數(shù)據(jù)交換。
進一步地,上述實時模擬開發(fā)系統(tǒng)可具有以下特點所述模擬操作模塊中還內(nèi)嵌有一個數(shù)據(jù)監(jiān)控模塊,用于在發(fā)現(xiàn)有空中下載相關的操作信息后,判斷是否處于實網(wǎng)運行,如果是,用AT指令發(fā)送給所述手機并等待實際網(wǎng)絡的響應;如果是虛擬網(wǎng)絡運行,則直接交給所述空中下載服務器,該服務器按照預定協(xié)議組織下行數(shù)據(jù),發(fā)送給所述模擬操作模塊。
由上可知,本發(fā)明通過專用COS(CPU卡操作系統(tǒng))和擴展AT指令實現(xiàn)了仿真卡與系統(tǒng)端的實時聯(lián)調(diào),減少了對手機和數(shù)據(jù)采集器的依賴??梢宰鳛楦鞣NSIM/UIM卡的STK/UTK開發(fā)、演示平臺。該方案為智能卡軟件測試提供半自動化解決方案,通過把目前必須依靠手機進行的一些測試項目,轉(zhuǎn)移到計算機上來完成,從而簡化了智能卡的開發(fā)流程、提高了開發(fā)效率。
圖1是本發(fā)明實施例SIM卡STK實時模擬開發(fā)系統(tǒng)的示意圖。
圖2是本發(fā)明實施例SIM卡STK實時模擬開發(fā)系統(tǒng)的功能框圖。
具體實施例方式
本實施例以SIM卡STK的實時模擬開發(fā)為例,圖1所示是開發(fā)系統(tǒng)的示意圖。如圖所示,該系統(tǒng)由STK仿真卡1、模擬操作模塊2、網(wǎng)絡交互模塊3,SIM卡4、手機5以及通訊網(wǎng)絡6組成,其中STK仿真卡1、模擬操作模塊2和網(wǎng)絡交互模塊3以軟件形式在計算機上實現(xiàn),特殊COS的SIM卡4裝在手機5內(nèi),是用實體實現(xiàn)。
圖中,STK仿真卡1即開發(fā)時所用的STK軟件調(diào)試環(huán)境,相當于實現(xiàn)STK功能的軟仿真虛擬卡,該卡通過ISO7816邏輯接口和windows socket實現(xiàn)的通用數(shù)據(jù)接口與其相連的模擬操作模塊2在計算機上實現(xiàn)手機STK菜單操作的模擬執(zhí)行,當操作不涉及網(wǎng)絡功能時,只在這兩個模塊之間進行信息交互,當STK菜單操作中涉及網(wǎng)絡功能(如呼叫、收發(fā)短信、下載等)時,模擬操作模塊2通過進程間的通訊將信息通知網(wǎng)絡交互模塊3,網(wǎng)絡交互模塊再通過AT指令傳遞給手機5,由手機5(內(nèi)插SIM卡4)將信息發(fā)送到GSM或其他通訊網(wǎng)絡6上。
SIM卡4采用特殊的COS,相當于用于實現(xiàn)網(wǎng)絡功能的通訊卡,與手機5之間建立對短信、話音等事件的監(jiān)控,一旦有相應事件發(fā)生,如呼入、收到短信或下載數(shù)據(jù)等,手機5會立即通知手機內(nèi)的SIM卡4,特殊COS的SIM卡4對信息進行緩存,在收到網(wǎng)絡交互模塊3定期發(fā)送的查詢的AT指令后,將緩存區(qū)中的信息經(jīng)過按照AT指令應答的格式要求進行編碼(可以理解為擴展的AT指令),然后將信息傳送到網(wǎng)絡交互模塊3,網(wǎng)絡交互模塊3獲得的信息也通過進程間的通訊傳送回模擬操作模塊2,模擬操作模塊2將信息還原成SIM卡監(jiān)控的事件結果,在屏幕上顯示并最終送回STK仿真卡1。
通過以上過程,實現(xiàn)了SIM卡STK功能的實時、實網(wǎng)模擬調(diào)試。
以下結合圖2描述本實施例每一功能模塊的具體實現(xiàn)結構STK仿真卡,除包括調(diào)試的STK功能軟件外,還包括同模擬操作模塊的接口,一個是ISO7816邏輯接口,一個是通過windows socket實現(xiàn)的通用數(shù)據(jù)接口。前者使用進程間通訊實現(xiàn),具有較高的效率但需要編寫相應的接口程序,是直接同模擬操作模塊進行數(shù)據(jù)交換的通道。后者通過套接字實現(xiàn),開發(fā)者無需了解具體的內(nèi)部實現(xiàn)過程,只需要按照約定的套接字就可完成數(shù)據(jù)的交互,但存在效率相對比較低的缺點。這兩部分的協(xié)調(diào)工作使得模擬操作模塊可以與一個選定的開發(fā)環(huán)境進行信息的交互。從模擬操作模塊的角度看仿佛外接了一張真實的SIM卡,從通用的開發(fā)環(huán)境角度看仿佛外接了一部真實的手機。
模擬操作模塊主要包括協(xié)議分析處理單元、STK指令顯示單元、STK指令操作單元、ISO7816邏輯接口和通用數(shù)據(jù)接口、進程間通訊接口和短信邏輯接口,其中所述協(xié)議分析處理單元用于將用戶的操作按照GSM11.14協(xié)議轉(zhuǎn)化為STK仿真卡可以識別的APDU指令經(jīng)接口下發(fā)給STK仿真卡。此外,還用于對STK仿真卡返回的數(shù)據(jù)是否符合規(guī)范進行分析,并將返回的數(shù)據(jù)按照其目的根據(jù)模擬操作模塊可以識別的數(shù)據(jù)結構進行加工轉(zhuǎn)化。
所述STK指令顯示單元,用于提供操作所需的圖形界面,并在接收到協(xié)議分析處理單元加工好的數(shù)據(jù)后在顯示器屏幕上顯示STK仿真卡剛才返回數(shù)據(jù)的信息,例如,STK仿真卡上一條返回的是Get Input指令,則在屏幕上顯示一個輸入提示框等待用戶輸入。如果返回的是Display Text指令,則在屏幕上顯示一段提示信息。
所述STK指令操作單元,模擬操作模塊調(diào)用STK指令顯示單元后,就處在等待用戶進行下步操作的模式,一旦用戶進行了一次有效的操作,STK指令操作單元就調(diào)用協(xié)議分析處理單元,將用戶的操作按照協(xié)議轉(zhuǎn)化為STK仿真卡可以識別的APDU指令,然后下發(fā)給SIM仿真卡。
所述ISO7816邏輯接口和通用數(shù)據(jù)接口,用Win Socket套接字實現(xiàn),用作模擬操作模塊和STK仿真卡之間的接口,通過Win Socket套接字同STK仿真卡進行數(shù)據(jù)交互。
所述進程間通訊接口,用于通過進程間的通訊實現(xiàn)模擬操作模塊和網(wǎng)絡交互模塊之間信息的雙向傳遞。
所述短信邏輯接口通過Win Socket套接字將短信通道開放出來,使得其他開發(fā)人員無需對開發(fā)環(huán)境進行任何改動的前提下進行二次開發(fā)。
基于以上結構組成的模擬操作模塊是整個開發(fā)系統(tǒng)的信息調(diào)度中心,用軟件實現(xiàn)了真實手機上使用STK/UTK業(yè)務的模擬,同時將涉及網(wǎng)絡操作的功能通過進程間通訊接口將信息提交給網(wǎng)絡交互模塊,也是通過進程間通訊接口獲得網(wǎng)絡下發(fā)的信息。
另外,還可以在STK仿真卡和模擬操作模塊上增加一個開放的ISO7816邏輯接口單元,使這一套實時仿真調(diào)試系統(tǒng)不是綁定在一個軟件開發(fā)環(huán)境上,而是可以有多個數(shù)據(jù)的輸入接口,例如它可以接收Vc開發(fā)環(huán)境的調(diào)試數(shù)據(jù),可以接一個智能卡讀寫器使用一張真實的SIM卡,可以同Keil的開發(fā)環(huán)境協(xié)調(diào)工作等。
網(wǎng)絡交互模塊主要包括進程間通訊接口、AT指令發(fā)送接收單元、信息翻譯單元和信息查詢單元。其中所述進程間通訊接口用于通過進程間的通訊實現(xiàn)網(wǎng)絡交互模塊和模擬操作模塊間信息的雙向傳遞。
AT指令發(fā)送接收單元用于將模擬操作模塊發(fā)來的數(shù)據(jù)結構包含的信息組織為AT指令,加入上行消息隊列;完成與手機之間的AT指令的發(fā)送與接收,并將從手機接收的AT指令轉(zhuǎn)化為APDU格式,加入下行消息隊列。該單元內(nèi)部維護了上行和下行方向的兩套消息隊列,以在網(wǎng)絡操作模塊和模擬操作模塊之間進行數(shù)據(jù)的傳遞需要進行一定的協(xié)調(diào)。本實施例中,網(wǎng)絡交互模塊和手機之間的AT指令交互通過有線方式實現(xiàn),接口為常用的USB接口或是串行數(shù)據(jù)接口,其實也可以通過紅外線等接口。
信息翻譯單元用于負責將模擬操作模塊感興趣而標準AT指令又不支持的信息(如模擬執(zhí)行模塊希望能獲取手機接收的二級短信息)按照標準AT編碼轉(zhuǎn)換成標準AT指令,使得對于手機而言是收到了一條可識別的AT指令,并用于對手機返回的擴展AT指令進行解碼。
信息查詢單元用于定期地向手機發(fā)送AT指令,查詢手機當前的狀態(tài)以及特殊COS的SIM卡接收到的信息。
SIM卡4采用特殊的COS,在標準的SIM卡單元的基礎上增加了信息暫存單元、AT指令編解碼單元和指令監(jiān)控單元,其中信息暫存單元用于對手機發(fā)來的事件監(jiān)控通知中的信息進行記錄,暫存在SIM卡的事件緩存區(qū)中,等待網(wǎng)絡交互模塊的查詢。
AT指令編解碼單元用于對緩存區(qū)的信息進行編碼,使之符合標準AT指令的結構,并用于對信息翻譯單元編碼得到的擴展的AT指令進行解碼。通過這種方式,將SIM卡上原先不被標準AT指令識別的一些信息對手機而言是一條標準的AT指令的返回結果。
通常,采用對SIM卡上的ADN和SMS進行新的編碼,之所以對ADN和SMS的內(nèi)容進行新的編碼主要是他們的作用比較特殊,AT指令中有對ADN和SMS操作的函數(shù),這樣通過計算機向下發(fā)送的AT指令例如讀取ADN最終會傳遞到SIM卡上,SIM卡將卡上緩存的信息按照特定的編碼作為ADN的讀取結果返回給手機。對手機而言它以為是一條ADN,于是又將內(nèi)容送回給計算機。
指令監(jiān)控單元,用于對所有發(fā)給SIM卡的指令進行監(jiān)控,當發(fā)現(xiàn)有需要返回STK仿真卡的事件后,將他們存入事件緩存區(qū)中;當發(fā)現(xiàn)網(wǎng)絡交互模塊通過AT指令查詢當前SIM卡的信息時,調(diào)用指令編解碼單元;當下發(fā)的APDU指令不屬于上述情況時,轉(zhuǎn)入正常的處理流程。
相應地,本實施例SIM卡STK實時模擬開發(fā)的流程包括以下步驟步驟一,建立一個模擬開發(fā)系統(tǒng),包括在計算機上實現(xiàn)的STK仿真卡、模擬操作模塊和網(wǎng)絡交互模塊,以及插入SIM卡(采用特殊COS)的手機和通訊網(wǎng)絡;步驟二,手機開機后,特殊COS的SIM卡接收到手機發(fā)送下來的Terminal Profile指令后返回Terminal Profile應答,然后提出對包含今后需要用到的信息的事件(如MT呼叫、呼叫連接、呼叫斷開、位置狀態(tài)等)提出事件監(jiān)控請求,手機返回事件監(jiān)控建立應答,完成初始化;同時,在該特殊COS的SIM卡在復位上電后,在卡內(nèi)開辟一塊事件緩存區(qū),用于對手機下發(fā)的事件進行緩存,因為網(wǎng)絡交互模塊并不能保證在事件下載后立即將該事件取走;步驟三,模擬操作模塊按照真實手機的開機過程與STK仿真卡之間按照標準ISO7816協(xié)議通過套接字接口進行數(shù)據(jù)交互,包括關鍵文件的讀取、網(wǎng)絡鑒權、ADN和SMS的讀取,最后發(fā)送Terminal Profile指令,完成STK菜單初始化;步驟四,等待調(diào)試人員對屏幕上的STK菜單進行操作,操作后,模擬操作模塊將操作指令發(fā)送給STK仿真卡,所述仿真卡對所述模擬操作模塊返回的數(shù)據(jù)進行處理,結果再通過上述接口交還給模擬操作模塊;步驟五,模擬操作模塊分析STK仿真卡返回的數(shù)據(jù),更新模擬界面的顯示,并判斷是否涉及網(wǎng)絡操作,如果不涉及,返回步驟四,如果是,向網(wǎng)絡交互模塊發(fā)送相關操作信息,執(zhí)行下一步;步驟六,將相關操作的指令加入到網(wǎng)絡交互模塊的上行消息隊列,必要時進行編碼轉(zhuǎn)換,等待合適的時機調(diào)用AT指令發(fā)送給手機(插入有SIM卡),手機和特殊COS的SIM卡按正常流程完成相應的功能,如發(fā)送短信、呼叫等等;在下行方向上步驟七,手機有相應的監(jiān)控事件(如MT呼叫、呼叫連接、呼叫斷開、位置狀態(tài)、二級短信息、位置信息等等)發(fā)生時會通知SIM卡后,將這一系列事件緩存起來;步驟八,網(wǎng)絡交互模塊定期通過AT指令查詢手機監(jiān)控事件的響應,手機轉(zhuǎn)換為APDU指令后下發(fā)給特殊COS的SIM卡;步驟九,SIM卡收到查詢AT指令后,到事件緩存區(qū)中進行查找,如果有,則將事件按AT指令應答格式的要求進行編碼打包,返回數(shù)據(jù)給手機,使得編碼后的數(shù)據(jù)對手機而言認為是對先前發(fā)送下來的AT指令的響應,手機再通過查詢AT指令應答發(fā)送到網(wǎng)絡交互模塊;步驟十,網(wǎng)絡交互模塊將AT指令的返回結果還原為APDU指令(該轉(zhuǎn)換也可以由模擬操作模塊的單元來完成,效果等同),加入下行消息隊列,在合適的時機通過進程間的通訊接口發(fā)送給模擬操作模塊;步驟十一,模擬操作模塊根據(jù)返回信息在屏幕上進行顯示,并通過套接字接口最終發(fā)回到STK仿真卡處理。
綜上所述,本發(fā)明將一張實際的SIM卡按照功能分解為實現(xiàn)網(wǎng)絡功能的通訊卡和STK功能的軟仿真虛擬卡。對常規(guī)的SIM卡COS進行了改造,使其具備了對特殊事件進行管理、存儲,并利用特殊的編碼使之符合標準AT指令的結構,實現(xiàn)了計算機通過標準AT指令可以訪問SIM卡內(nèi)的特定信息。并利用Windows系統(tǒng)多任務特性,在模擬操作模塊和開發(fā)者使用的調(diào)試環(huán)境之間建立數(shù)據(jù)交互通道。從而實現(xiàn)了對SIM卡STK功能的“實時”實網(wǎng)調(diào)試仿真。本發(fā)明的系統(tǒng)和方法也完全適用于UIM卡UTK功能等用戶識別模塊工具套件的實時調(diào)試,只需將SIM卡相應地更換為UIM卡并采用特殊的COS,將STK仿真卡替換為UTK軟仿真卡,手機由GSM手機改為CDMA手機,其它功能模塊的功能是相同的。
對于OTA(空中下載技術)等相關業(yè)務,實施例的模擬開發(fā)系統(tǒng)是采用實網(wǎng)運行,但也可以采用虛擬網(wǎng)絡運行或根據(jù)配置從兩種方式中選擇一種。在選擇虛擬網(wǎng)絡運行的情況下,可以在模擬操作模塊中內(nèi)嵌一個數(shù)據(jù)監(jiān)控模塊,當發(fā)現(xiàn)有OTA操作相關的數(shù)據(jù)后,判斷是否處于實網(wǎng)運行,如果是,按實施例流程調(diào)用AT指令發(fā)送給目的地,并等待實際網(wǎng)絡的響應。如果是虛擬網(wǎng)絡運行,則直接交給OTA模擬服務器,服務器按照預定協(xié)議組織下行數(shù)據(jù),加入到下行消息隊列中等待時機發(fā)送給模擬操作模塊顯示,由其再發(fā)送給STK仿真卡。該OTA模擬服務器作為網(wǎng)絡交互模塊中的一部分,它負責在虛擬網(wǎng)絡運行時模擬一些真實與空中下載有關的增值服務,采用函數(shù)調(diào)用的方式進行數(shù)據(jù)交換。
上述實施例系統(tǒng)中很多模塊和單元是用軟件實現(xiàn)的,所以可能有很多變換的環(huán)節(jié),例如各個模塊可以合并或再拆分,模塊之間的接口,所用的指令也可以采用其他的類型,只要保證可靠的數(shù)據(jù)通訊即可。
權利要求
1.一種用戶識別模塊工具套件的實時模擬開發(fā)方法,包括以下步驟(a)建立一個模擬開發(fā)系統(tǒng),包括在計算機上實現(xiàn)的用戶識別模塊的仿真卡、模擬操作模塊和網(wǎng)絡交互模塊,以及插入有用戶識別模塊的手機和通訊網(wǎng)絡;(b)所述用戶識別模塊在手機對其進行初始化過程中,建立對設定事件的監(jiān)控;所述模擬操作模塊與所述仿真卡之間也通過數(shù)據(jù)交互完成用戶識別模塊工具套件菜單的初始化;(c)等待調(diào)試人員對所述菜單進行操作,操作后,所述模擬操作模塊將操作指令通過接口發(fā)送給所述仿真卡,所述仿真卡對所述模擬操作模塊返回的數(shù)據(jù)進行處理,并將結果數(shù)據(jù)發(fā)送回所述模擬操作模塊;(d)所述模擬操作模塊根據(jù)返回數(shù)據(jù)更新模擬界面顯示,并判斷是否涉及網(wǎng)絡操作,如果不涉及,返回步驟(c),如果涉及,將操作信息發(fā)送到所述網(wǎng)絡交互模塊,執(zhí)行下一步;(e)所述網(wǎng)絡交互模塊再將操作信息發(fā)送給所述手機,由該手機和用戶識別模塊完成相應的操作;(f)所述手機有相應的監(jiān)控事件發(fā)生時會通知所述用戶識別模塊,所述用戶識別模塊再將事件結果的信息經(jīng)網(wǎng)絡交互模塊發(fā)送到所述模擬操作模塊;(g)所述模擬操作模塊根據(jù)事件結果信息在屏幕上進行顯示,并通過接口發(fā)回到所述仿真卡處理,返回步驟(c)。
2.如權利要求1所述的實時模擬開發(fā)方法,其特征在于,所述步驟(b)中建立監(jiān)控的設定事件包括MT呼叫、呼叫連接、呼叫斷開、位置狀態(tài)中的一種或任意組合,所述步驟(f)中相應的監(jiān)控事件包括為MT呼叫、呼叫連接、呼叫斷開、位置狀態(tài)、二級短信息和位置信息中的一種或任意組合。
3.如權利要求1所述的實時模擬開發(fā)方法,其特征在于,所述用戶識別模塊在初始化時建立一塊事件緩存區(qū),先將從手機收到的事件結果存儲在該緩存區(qū)內(nèi),在收到所述網(wǎng)絡交互模塊的查詢指令后,再從該緩存區(qū)取出事件結果發(fā)送給所述網(wǎng)絡交互模塊。
4.如權利要求1或3所述的實時模擬開發(fā)方法,其特征在于,所述網(wǎng)絡交互模塊和手機間通過AT指令進行交互,對于AT指令不支持的操作信息,由所述網(wǎng)絡交互模塊將其編碼轉(zhuǎn)換為標準AT指令后,經(jīng)手機發(fā)送到所述用戶識別模塊由其解碼處理;對于AT指令不支持的事件結果信息,由所述用戶識別模塊將其編碼轉(zhuǎn)換為標準的AT指令應答后,再經(jīng)手機發(fā)送到所述網(wǎng)絡交互模塊由其解碼處理。
5.如權利要求1所述的實時模擬開發(fā)方法,其特征在于,所述網(wǎng)絡交互模塊與所述模擬操作模塊之間通過進程間的通訊接口進行信息交互,所述模擬操作模塊與所述仿真卡之間按照標準ISO7816協(xié)議通過套接字接口進行信息交互。
6.如權利要求1所述的實時模擬開發(fā)方法,其特征在于,所述建立的模擬開發(fā)系統(tǒng)中還包括一個在計算機上模擬的空中下載服務器,所述步驟(c)中,如果調(diào)試人員進行了空中下載的操作,直接交給該空中下載服務器,由該空中下載服務器按照預定協(xié)議組織下行數(shù)據(jù),經(jīng)網(wǎng)絡交互模塊發(fā)送給所述模擬操作模塊顯示,再發(fā)送到所述仿真卡。
7.一種用戶識別模塊工具套件的實時模擬開發(fā)系統(tǒng),包括開發(fā)時所用軟件調(diào)試環(huán)境構成的用戶識別模塊工具套件的仿真卡、手機和通訊網(wǎng)絡,其特征在于,還包括模擬操作模塊、網(wǎng)絡交互模塊和用戶識別模塊,所述仿真卡、模擬操作模塊和網(wǎng)絡交互模塊在計算機上實現(xiàn),所述用戶識別模塊插入在所述手機內(nèi),其中所述仿真卡包括要調(diào)試的用戶識別模塊工具套件及與所述模擬操作模塊間通訊的接口;所述模擬操作模塊用于實現(xiàn)真實手機上使用用戶識別模塊工具套件業(yè)務的模擬,將操作指令下發(fā)給所述仿真卡并接收返回結果,將其中涉及網(wǎng)絡操作的信息提交給所述網(wǎng)絡交互模塊并接收其下發(fā)的事件結果信息,再發(fā)送到所述仿真卡;所述網(wǎng)絡交互模塊用于將所述模擬操作模塊發(fā)來信息組織為手機可以識別的指令,發(fā)送到所述手機并接收其返回的事件結果信息,再將該結果信息傳送給所述模擬操作模塊;所述用戶識別模塊在標準用戶識別模塊的基礎上,還將所述手機發(fā)來的設定事件的結果信息組織為所述網(wǎng)絡交互模塊發(fā)送指令的應答所要求的格式,經(jīng)所述手機發(fā)送到所述網(wǎng)絡交互模塊。
8.如權利要求7所述的實時模擬開發(fā)系統(tǒng),其特征在于,所述模擬操作模塊進一步包括協(xié)議分析處理單元、指令顯示單元、指令操作單元、與所述仿真卡間的通訊接口以及與所述網(wǎng)絡交互模塊間的通訊接口,其中所述協(xié)議分析處理單元用于將用戶操作按照協(xié)議轉(zhuǎn)化為所述仿真卡可識別指令經(jīng)接口下發(fā)給該仿真卡,對所述仿真卡返回的數(shù)據(jù),分析其是否符合規(guī)范,并加工轉(zhuǎn)化為可以識別的數(shù)據(jù)結構;所述指令顯示單元用于提供操作所需的圖形界面,并在接收到所述協(xié)議分析處理單元加工好的數(shù)據(jù)后在屏幕上顯示返回的信息;所述指令操作單元用于接受用戶的有效操作,調(diào)用所述協(xié)議分析處理單元將用戶的操作轉(zhuǎn)化后下發(fā)給所述仿真卡;與所述仿真卡間的通訊接口用于實現(xiàn)所述模擬操作模塊和所述仿真卡之間信息的雙向傳遞;與所述網(wǎng)絡交互模塊間的通訊接口,用于通過進程間的通訊實現(xiàn)模擬操作模塊和網(wǎng)絡交互模塊之間信息的雙向傳遞。
9.如權利要求8所述的實時模擬開發(fā)系統(tǒng),其特征在于,所述仿真卡與所述模擬操作模塊之間的接口包括直接進行數(shù)據(jù)交換的ISO7816邏輯接口,以及用套接字實現(xiàn)的與該邏輯接口協(xié)調(diào)工作的通用數(shù)據(jù)接口。
10.如權利要求8所述的實時模擬開發(fā)系統(tǒng),其特征在于,所述模擬操作模塊與所述網(wǎng)絡交互模塊之間采用進程間的通訊接口交互信息。
11.如權利要求8所述的實時模擬開發(fā)系統(tǒng),其特征在于,所述模擬操作模塊還包括短信邏輯接口,用于通過套接字開放短信通道。
12.如權利要求8所述的實時模擬開發(fā)系統(tǒng),其特征在于,所述模擬操作模塊和所述仿真卡上均還包括一個開放的ISO7816邏輯接口。
13.如權利要求7所述的實時模擬開發(fā)系統(tǒng),其特征在于,所述網(wǎng)絡交互模塊進一步包括進程間通訊接口、指令發(fā)送接收單元、信息翻譯單元和信息查詢單元,其中所述進程間通訊接口用于實現(xiàn)和所述模擬操作模塊間信息的雙向傳遞;所述指令發(fā)送接收單元用于將所述模擬操作模塊發(fā)來的信息組織為AT指令,完成與所述手機之間的AT指令的發(fā)送與接收,并將從所述手機接收的AT指令轉(zhuǎn)化為APDU格式后,再傳送到所述模擬操作模塊;所述信息翻譯單元用于將AT指令不支持的操作信息編碼轉(zhuǎn)換為標準AT指令,并對所述手機返回的擴展的AT指令進行解碼;所述信息查詢單元用于向所述手機發(fā)送AT指令,查詢所述手機當前的狀態(tài)以及所述用戶識別模塊接收到的事件結果信息。
14.如權利要求13所述的實時模擬開發(fā)系統(tǒng),其特征在于,所述指令發(fā)送接收單元內(nèi)部還包括上行和下行方向的兩套消息隊列,用于在數(shù)據(jù)傳遞時進行一定的協(xié)調(diào)。
15.如權利要求7所述的實時模擬開發(fā)系統(tǒng),其特征在于,所述用戶識別模塊進一步包括信息暫存單元、指令編解碼單元和指令監(jiān)控單元,其中所述信息暫存單元用于對所述手機發(fā)來的設定事件的監(jiān)控通知中的信息進行記錄,暫存在事件緩存區(qū)中;所述指令編解碼單元用于對緩存區(qū)的信息進行編碼,使之符合標準AT指令的結構,并對發(fā)來的擴展的AT指令進行解碼;所述指令監(jiān)控單元用于對所有發(fā)給所述用戶識別模塊的指令進行監(jiān)控,當收到設定事件的監(jiān)控通知時,通知所述信息暫存單元暫存;當發(fā)現(xiàn)所述網(wǎng)絡交互模塊發(fā)來的查詢指令時,調(diào)用所述指令編解碼單元編碼下發(fā);當收到其他指令時,轉(zhuǎn)入正常的處理流程。
16.如權利要求7或8所述的實時模擬開發(fā)系統(tǒng),其特征在于,所述網(wǎng)絡交互模塊中還包括一個模擬的空中下載服務器,用于在虛擬網(wǎng)絡運行時模擬真實的與空中下載有關的增值服務,采用函數(shù)調(diào)用的方式實現(xiàn)數(shù)據(jù)交換。
17.如權利要求16所述的實時模擬開發(fā)系統(tǒng),其特征在于,所述模擬操作模塊中還內(nèi)嵌有一個數(shù)據(jù)監(jiān)控模塊,用于在發(fā)現(xiàn)有空中下載相關的操作信息后,判斷是否處于實網(wǎng)運行,如果是,調(diào)用AT指令發(fā)送給所述手機并等待實際網(wǎng)絡的響應;如果是虛擬網(wǎng)絡運行,則直接交給所述空中下載服務器,該服務器按照預定協(xié)議組織下行數(shù)據(jù),發(fā)送給所述模擬操作模塊。
全文摘要
本發(fā)明公開一種用戶識別模塊工具套件的實時模擬開發(fā)方法和系統(tǒng),首先建立模擬開發(fā)系統(tǒng),包括用戶識別模塊的仿真卡、模擬操作模塊和網(wǎng)絡交互模塊,以及插入用戶識別模塊的手機和通訊網(wǎng)絡;手機和用戶識別模塊在初始化過程中建立事件監(jiān)控;對所述菜單進行操作后,模擬操作模塊將操作指令發(fā)送給仿真卡,仿真卡對模擬操作模塊返回數(shù)據(jù)進行處理并返回結果;模擬操作模塊更新模擬界面顯示,如果涉及網(wǎng)絡操作,將操作信息通過網(wǎng)絡交互模塊發(fā)送給所述手機,由該手機和用戶識別模塊完成相應操作;監(jiān)控事件由用戶識別模塊經(jīng)網(wǎng)絡交互模塊發(fā)送到模擬操作模塊顯示,并下發(fā)給仿真卡。本發(fā)明可實現(xiàn)SIM卡STK功能及UIM卡UTK功能等的實時、實網(wǎng)模擬調(diào)試。
文檔編號H04W24/00GK1622674SQ20041010398
公開日2005年6月1日 申請日期2004年12月31日 優(yōu)先權日2004年12月31日
發(fā)明者楊延輝, 秦預, 黃浦, 張偉 申請人:大唐微電子技術有限公司