IrDial協(xié)議及其應用和實(shí)現
1.2 撥號連接模式
撥號連接的網(wǎng)絡(luò )協(xié)議模型如圖3所示。在應用中,由于要使用手機作為無(wú)線(xiàn)連接設備,即把手機作為一個(gè)外置modem,主要采用撥號連接協(xié)議。
1.2.1 連接建立
為了初始化一個(gè)撥號連接模式的連接,客戶(hù)必須先執行Information Access Service (IAS) GetValueByClass 函數,它的參數中的類(lèi)名是“IrModem”,類(lèi)屬性為“IrDA:TinyTP:LsapSel”。然后再初始化一個(gè)IrDA Tiny Transport Protocol (TinyTP)連接以返回 (LSAP-SEL)。撥號命令和數據幀的交換都在TinyTP連接中進(jìn)行。
MODEM或Host能夠中斷連接,只要發(fā)送一個(gè)LM-Disconnect IrLMP消息即可。
1.2.2 撥號命令成幀
AT命令序列成幀時(shí)要在命令前后加上字符串。AT命令序列長(cháng)度不能超過(guò)一個(gè)TinyTP PDU的長(cháng)度。
1.2.3 PPP封裝和成幀
所有的IP包都以RFC1661中規定的PPP封裝來(lái)進(jìn)行封裝。以PPP封裝的包按RFC1662中規定的HDLC來(lái)進(jìn)行成幀。這與TinyTP成幀不同。
1.3 撥號協(xié)議簡(jiǎn)介
1.3.1 Modem工作模式
Modem有兩種工作模式:
? 離線(xiàn)命令模式(Offline Command Mode):在此模式下沒(méi)有電話(huà)撥號,Modem正在接收AT命令。會(huì )話(huà)正是在這種模式下被啟動(dòng)。
? 在線(xiàn)數據模式(Online Data Mode): 在此模式下,有一個(gè)電話(huà)連接,modem能夠接收和傳輸數據;只有一個(gè)命令+++ATH能被傳送。
AT命令在TinyTP幀中傳輸。不能把一個(gè)AT命令字符串分成幾部分在幾個(gè)幀中傳輸。但是可以在一個(gè)幀中傳輸幾個(gè)AT命令,這時(shí)命令的間隔必須符合V.25ter中的規定?;貜秃蛻饎t沒(méi)有這個(gè)限制,可以在幾個(gè)TinyTP幀中傳輸。
所有的命令必須以結尾, modem回復所有發(fā)出的命令。每個(gè)命令有一個(gè)響應,每個(gè)響應均為如下格式:
Response
1.3.3 鏈接控制命令
(1) ATD, Dial
這個(gè)命令初始化一個(gè)數據呼叫,后跟電話(huà)號碼和其它符號來(lái)建立一個(gè)連接。在A(yíng)TD連接過(guò)程中,接收到CONNECT前發(fā)送任何字符就可以放棄連接。
命令執行的格式如下:
D n為電話(huà)號碼。如:ATD+65768678.
(2) ATH, Hook Control. 中斷一個(gè)連接。
(3) ATA, Answer. 應答呼入的數據呼叫。為了接收呼入的數據呼叫,Modem必須是以IrDA連接并且處于離線(xiàn)命令模式。如果有一個(gè)呼入呼叫,modem以如下形式發(fā)送一個(gè)結果代碼:
RING
然后就可以使用ATA來(lái)應答呼入的數據呼叫。
1.3.4初始化命令
AT+DS 數據壓縮模式(Data Compression Mode)。
定義了V.42bis使用的壓縮參數和協(xié)議。
命令格式如下:
+DS=[
,[,[,[]]]]。
關(guān)于modem撥號的詳細文檔可以參考Windows Modem設備驅動(dòng)開(kāi)發(fā)包的幫助文檔[13]。
評論