STK基礎(chǔ)概念

概述

前言

學(xué)習(xí)3GPP TS 11.11有關(guān)STK的一些基本概念,做一個簡單的總結(jié)。

背景

STK即SIM Tool Kit,是由SIM卡提供的應(yīng)用,它提供一系列用于移動設(shè)備與SIM卡間交互的機(jī)制。通過這些機(jī)制,支持STK的手機(jī)可以操作SIM卡里的應(yīng)用,同時SIM卡也可讓手機(jī)執(zhí)行指定的操作。舉例來說,插入聯(lián)通卡時彈出的歡迎使用聯(lián)通服務(wù)即為STK的命令執(zhí)行結(jié)果;點擊STK應(yīng)用圖標(biāo)可以查看具體的應(yīng)用詳情,國內(nèi)手機(jī)似乎都沒有預(yù)裝該應(yīng)用,一般是運(yùn)營商定制相關(guān)的比較關(guān)注該模塊。

基本概念

ME和SIM的通信遵從ISO的T=0協(xié)議ISO?7816-3:異步半雙工字符傳輸協(xié)議)。在該協(xié)議中,命令都是由ME發(fā)給SIM卡的,沒有SIM卡發(fā)起與ME通信的機(jī)制。這樣看來,如果SIM卡需要主動請求ME的支持是不可能的。

主動式SIM卡,顧名思義,SIM卡掌握了主動權(quán)。通過proactive命令,主動式SIM卡可以要求ME進(jìn)行相應(yīng)的操作,感覺像是SIM卡“控制”了ME。

ME和SIM卡需要知道對方是否支持proactive SIM。如果SIM卡是主動式SIM卡,應(yīng)該在SIM卡的業(yè)務(wù)表中的相應(yīng)業(yè)務(wù)進(jìn)行標(biāo)識,而如果ME支持主動式SIM卡,在確定是Proactive SIM的情況下,通過profile download命令通知SIM卡。這樣,通信雙方之間就有了共識:在之后的通信過程中,proactive SIM不會向不支持proactive SIM的ME發(fā)送任何命令請求;支持proactive SIM的ME也不會向未激活proactive SIM的SIM發(fā)送與proactive SIM有關(guān)的命令。

主動式SIM卡仍然使用T=0協(xié)議,通過增加一個新的狀態(tài)響應(yīng)字SW1來實現(xiàn)SIM卡的主動權(quán)。以9000,91XX為例,9000即SIM卡成功執(zhí)行了上一條命令,91XX同指成功執(zhí)行了上一條命令,同時希望上發(fā)一條長為XX的主動式命令。

STK包含的機(jī)制

Profile Download,Proactive SIM,Data download to SIM,Menu selection,Call control by SIM,MO Short Message control by SIM,Event download,security,Multiple card,Timer Expiration,Bearer Independent Protocol.

其中,Profile Download用于通知SIM卡ME的功能。ME通過SIM 服務(wù)表和EFPHASE了解SIM卡的功能,在SIM的初始化過程,ME會通過TERMINAL PROFILE命令發(fā)送一個配置文件,告訴SIM卡它所能支持的與SIM卡相關(guān)的功能。具體的命令編碼請查看3GPP TS 11.14。

?Proactive SIM則用來讓SIM卡可以控制ME執(zhí)行某些行為,如顯示保存于SIM卡的文本發(fā)短信息,撥打保存于SIM卡的號碼,發(fā)送SS,USSD等。基本是于涉及到用戶的行為都可使用該機(jī)制。

涉及的命令(ME->SIM)

-? TERMINAL PROFILE

This function is used by the ME to transmit to the SIM itscapabilities concerning the SIM Application Toolkit functionality.

該命令是ME用來告訴SIM卡它所支持的功能。

-??ENVELOPE

該命令用來傳輸命令相關(guān)的數(shù)據(jù)給位于SIM卡里的應(yīng)用。

-??FETCH

該命令用來獲取一個主動式命令。

-?TERMINAL RESPONSE

該命令發(fā)送上一個主動式命令的結(jié)果給SIM卡

TERMINAL PROFILE

Terminal Profile的結(jié)構(gòu)和編碼組成,需3GPP TS 11.14 5.2節(jié)Structure and coding of TERMINAL PROFILE。后續(xù)再做具體流程的分析總結(jié)。

ENVELOPE

-? SMS-PP DOWNLOAD,當(dāng)ME收到一條短信,協(xié)議標(biāo)識符=SIM卡數(shù)據(jù)下載,數(shù)據(jù)編碼方案=第二級消息時,ME將通過使用Envelope(SMS-PP DOWNLOAD)透明地將消息傳遞到SIM。移動將不會顯示這條短信,也不會提示用戶。

-? CELL BROADCAST DOWNLOAD,當(dāng)ME接收新SMSCB,如果該CB的CBMI在EF_CBMID被找到,則ME將使用Envelope(CELL BROADCAST DOWNLOAD)通過CB頁傳遞到SIM卡。ME將不會顯示該CB給用戶。

-? MENU SELECTION,當(dāng)ME從SIM卡發(fā)送的“SETUP MENU”命令定義的一個菜單項目中收到菜單選擇時,或者用戶需要對某一菜單項得到幫助信息時,ME會通過Envelope(MENU_SELECTION)將所選菜單項的標(biāo)識符傳給SIM卡。

-? CALL CONTROL,呼叫控制,SIM卡可以使用這個命令來決定是否要將一個播出的電話(SATK播出或MMI播出),一個SS服務(wù)(無論是Send SS或MMI SS),USSD的初始化(無論是Send USSD或MMI USSD)修改成同一類型的服務(wù),但是不同的參數(shù),或者可以將它們修改成與前一個不同新類型的服務(wù)。

-? MO SHORT MESSAGE CONTROL,對于所有MO短消息嘗試,ME用ENVELOPE (MO message control)命令,首先把業(yè)務(wù)中心地址-RP_destination_addres及收件人地址-TP_destination_adderss傳遞給SIM卡。ME還應(yīng)使用ENVELOPE(MO message control)命令將當(dāng)前服務(wù)小區(qū)的信息傳遞給SIM卡。

-?TIMER EXPIRATION,當(dāng)一個由TIMER MANAGEMENT的主動式命令去啟動的定時器超時,ME應(yīng)該使用ENVELOPE (TIMER EXPIRATION)去傳遞這個定時器的標(biāo)識符和值給SIM。

-? EVENT DOWNLOAD,SIM卡用SETUP EVENT LIST命令為ME提供一套監(jiān)控事件。如SIM卡已發(fā)出此命令,并且列表中的事件發(fā)生,ME會使用和此事件相關(guān)的過程通知SIM卡。

PROACTIVE COMMAND

-?CLOSE CHANNEL,要求ME關(guān)閉指定的數(shù)據(jù)通道.

-?DISPLAY?TEXT,在屏幕顯示文本或者圖表,高優(yōu)先級的可覆蓋其他內(nèi)容.

-?GET CHANNEL STATUS,要求ME返回所有可用數(shù)據(jù)通道的當(dāng)前信息.

-?GET INKEY,在屏幕顯示文本或圖表,獲取用戶輸入的字符并將字符傳輸給SIM卡。

-?GET INPUT,在屏幕顯示文本或圖表,獲取用戶的任何響應(yīng)并將其傳輸給SIM卡。

-?GET READER STATUS,提供讀卡器和插入卡的其他信息(Card x state, e.g. powered on or not, Card x Presence), if class "a" is supported.

-?LANGUAGE NOTIFICATION,通知ME當(dāng)前STK在文本字符串里使用的語言.

-?LAUNCH BROWSER,請求啟動瀏覽器使ME能解析URL.

-?MORE TIME,用于請求更多處理時間,ME只需要返回一個正常的TR。

-?OPEN CHANNEL,要求ME打開一個有參數(shù)顯示的通道。(if class "e" is supported.)

-?PERFORM CARD APDU,它要求ME發(fā)送APDU命令到其他卡。這個命令與ME和其他卡之間的任何協(xié)議兼容。(if class "a" is supported)

-?PLAY TONE,它請求ME通過耳機(jī)、聽筒或其他設(shè)備發(fā)出聲音。.

-?POLL INTERVAL,協(xié)商在空閑模式期間ME向SIM卡發(fā)送STATUS命令的的頻率、輪詢操作可以由POLLING OFF命令禁止。

-?POWER OFF CARD,它會關(guān)閉與其他卡的會話。(如果支持Class A)

-?POWER ON CARD,它會發(fā)起與其他卡的會話,并且返回所有的ATR字節(jié)。(如果支持Class A)

-?PROVIDE LOCAL INFORMATION,要求ME將本地信息傳給SIM卡,例如移動國家號碼及用戶注冊的移動網(wǎng)絡(luò)號碼(MCC+MNC)。

-?RECEIVE DATA,它要求ME返回在指定通道上接收到的SIM卡數(shù)據(jù)。(如果支持Class E,BIP)

-?REFRESH,要求ME開始SIM卡的初始化,和/或提示SIM卡上的EF的內(nèi)容或結(jié)構(gòu)已經(jīng)改變。這個命令可以使ME復(fù)位SIM卡而重新開始一個SIM卡的會話。

-?RUN AT COMMAND,它將傳達(dá)一個AT命令到ME,并且將AT命令的響應(yīng)結(jié)果返回到SIM卡。

- SELECT ITEM,? SIM卡提供一張項目列表供用戶選擇。

-?SEND DATA,它要求ME向SIM卡提供的指定通道發(fā)送數(shù)據(jù)。(如果支持Class E,BIP)

-?SEND DTMF,它要求ME在建立呼叫期間發(fā)送DTMF音頻。

-?SEND SHORT MESSAGE,此命令向網(wǎng)絡(luò)發(fā)送短信息或SMS-COMMAND。

-?SEND SS,此命令向網(wǎng)絡(luò)發(fā)送SS請求。

-?SEND USSD,此命令是向網(wǎng)絡(luò)發(fā)送USSD。

-?SET UP CALL,有三種類型:在沒有其它呼叫時,建立呼叫;保持所有其它的呼叫(如果有),建立呼叫;切斷所有其它的呼叫(如果有),建立呼叫。

-?SET UP EVENT LIST用此命令提供一套事件集,ME應(yīng)該將此事件集去作為當(dāng)前的事件列表去監(jiān)視。

-?SET UP IDLE MODE TEXT,提供一個字符串給ME用于待機(jī)模式文本。

-?SET UP MENU, SIM卡提供一個項目列表供用戶選擇后合并到ME的菜單中。(SET_UP_MENU是建立STK的主菜單,也是第一個主動式命令)

-?TIMER MANAGEMENT, w它要求ME以下命令方式(開始,停用,獲取當(dāng)前值)去管理一個定時器。并且在啟動定時器的情況下,在命令中指示持續(xù)的時間。

TERMINAL RESPONSE

Terminal Response,簡稱TR。ME執(zhí)行完proactive command后,用Terminal Response告訴SIM卡命令的執(zhí)行結(jié)果,以便SIM卡判斷接下來的動作:如是否重復(fù)這個命令,還是不再嘗試。對于每一個proactive command,必須發(fā)送一個且僅一個Terminal Response告訴SIM卡命令執(zhí)行的結(jié)果。SIM卡在接收到前一個proactive command的Terminal Response之前不會執(zhí)行下一個命令。Terminal Response分為三種主要類型:

——命令執(zhí)行成功

——執(zhí)行命令時遇到暫時問題。一般來說,此類問題意味著SIM卡稍后可以再試一次

——執(zhí)行命令時遇到永久問題,一般來說,此結(jié)果表明若在同一個GSM會話期間重復(fù)執(zhí)行相同的命令會有同樣的結(jié)果,所以SIM卡不再需要再次嘗試

這三種主要類型的具體定義可見3GPP TS 11.14(6.7)。

關(guān)鍵流程

Proactive Command

Proactive Command

step1-7稱為一個sat(sat是舊稱) session.

1.ME總是命令的發(fā)起者,首先ME發(fā)送SAT命令給SIM卡

2.SIM卡執(zhí)行完命令后,返回Status Words(91XX),告訴ME有一個proactive command需要執(zhí)行

3.ME用fetch命令取得proactive command

4.SIM將proactive command數(shù)據(jù)傳送給ME

5.SW1 SW2 for Fetch

6.ME發(fā)送Terminal Response給SIM卡

7.SW1 SW2 for Terminal Response

Step4-6是ME執(zhí)行proactive command的時間:如顯示數(shù)據(jù),讓用戶輸入,播放聲音,發(fā)送短信等等。

總結(jié)

STK的基本概念并不復(fù)雜,但是大多數(shù)內(nèi)容是與協(xié)議強(qiáng)相關(guān)的。如主動式命令的運(yùn)作流程很好理解,實際解決問題時更多的是要依靠查閱相關(guān)的協(xié)議。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • STK(SIM Application Toolkit),中文名為SIM卡應(yīng)用工具包。它包含一系列手機(jī)與SIM卡的...
    小的橘子閱讀 4,374評論 1 3
  • 什么是SIM卡SIM卡是(Subscriber Identification Module 客戶識別模塊)的縮寫,...
    小的橘子閱讀 3,916評論 0 3
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,695評論 0 5
  • 原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時請務(wù)必以超鏈接形式標(biāo)明文章 原始出處 、作者信息和本聲明。否則將追究法律責(zé)任。http:...
    狼之獨步閱讀 3,280評論 0 2
  • 電容的加入使得電路對信號有了取舍 信號的頻率與幅度 市電“電壓220V”是指電壓有效值,或稱電壓的均方根值,縮寫為...
    啃狐貍de葡萄閱讀 3,290評論 0 3

友情鏈接更多精彩內(nèi)容