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