嵌入式環(huán)境下關于移動性的研究
3 Mobile SIP
3.1Mobile SIP移動性
為了滿足多媒體通信系統(tǒng)移動性的要求,SIP協(xié)議設計本身就具有移動性的特點,而且采用簡單、靈活的機制,主要歸納如下:
① 地址分離機制。SIP協(xié)議設計采用邏輯地址和聯(lián)系地址相分離的思想,邏輯地址用于標識用戶,而聯(lián)系地址表明用戶的當前位置。一個邏輯地址可以對應多個聯(lián)系地址,這種機制為用戶的移動性提供了技術上的可能性。SIP地址使用類似Email的形式,如sip:user@domain。
② 注冊/注銷機制。用戶代理通過注冊/注銷機制來告知系統(tǒng)自己在移動中的當前位置。SIP協(xié)議定義了注冊服務器和REGISTER消息。用戶代理可以通過向注冊服務器發(fā)送REGISTER請求消息來完成注冊和注銷等操作。在構造注冊請求消息時,Request-URI域應包含注冊服務器的域名信息;To 包含要注冊或注銷的用戶的邏輯地址; From包含發(fā)送注冊消息者的地址記錄;Contact包含要注冊的聯(lián)系地址信息。
注冊機制:當用戶代理要向注冊服務器添加一個地址映射記錄時,Contact域包含要增加的聯(lián)系地址信息,通過Expires頭部域或該地址信息的expires 參數(shù)來聲明該聯(lián)系地址的生命期。用戶可通過一個REGISTER請求消息同時增加多個地址映射記錄。
注銷機制:當用戶代理要刪除一個映射記錄時,可在Contact域中填寫要刪除的聯(lián)系地址信息,并將expires參數(shù)置0, 注冊服務器收到后就會刪除該映射記錄。如果將Contact域設為“*”,且Expires頭部域設為0,將會刪除該用戶的所有聯(lián)系地址映射記錄。
用戶代理在注冊服務器成功注冊后,就可以接收呼叫了。呼叫方可以根據(jù)對該用戶地址映射信息的查詢結果,將呼叫請求消息轉發(fā)到用戶代理的當前聯(lián)系地址。
③ 目標更新機制。目標更新主要是通過SIP協(xié)議中定義的對話中的INVITE請求消息(也稱為ReINVITE)來實現(xiàn)。這種機制可供用戶告知通信對方自己的聯(lián)系地址發(fā)生了變化,這對于通信中的移動是非常重要的。當用戶在通信中進行移動時,它的聯(lián)系地址可能發(fā)生變化(如進入到另一個IP子網(wǎng)),此時,用戶代理可以使用對話上下文信息構造一個INVITE請求消息,將新的聯(lián)系地址放入Contact頭部域,使用對話內(nèi)的路由過程將消息發(fā)送給對方。當對方收到請求消息后,發(fā)現(xiàn)Contact頭部的內(nèi)容和對話上下文的遠端目標不同,就使用新的聯(lián)系地址更新對話上下文的遠端目標。對方就可以使用新的聯(lián)系地址與其通信,保證了移動中通信的不中斷。目標更新過程完成后,用戶還要及時向自己的注冊服務器注冊新地址,以使網(wǎng)絡獲知其當前位置。目標更新機制還可以用于修改當前的會話參數(shù),如增加媒體流、改變端口等。在對話過程中,如果任一方的聯(lián)系地址或會話參數(shù)發(fā)生變化, 都可以通過目標刷新通知對方。
④ 呼叫重定向機制。SIP對移動性很重要的一個支持就是定義了重定向服務器。當重定向服務器發(fā)現(xiàn)接收到的呼叫中被叫用戶位置已經(jīng)移動,需要重定向時,它會生成一個重定向響應消息,將被叫用戶的當前聯(lián)系地址告知主叫用戶。主叫用戶向新聯(lián)系地址發(fā)起INVITE呼叫請求,請求消息會被路由到聯(lián)系地址所在的用戶終端。可見,呼叫重定向是用戶移動后呼叫建立的通用信令過程。
3.2實驗基礎
SIP Server選用的是Brekeke公司的Ondo Server,CH上運行的是Xten公司的XLite SIP softphone,MH移動主機使用的是自行開發(fā)的IP電話終端。
IP電話終端的軟件基礎是基于VxWorks實時操作系統(tǒng),實現(xiàn)的協(xié)議主要包括TCP/IP協(xié)議棧、SIP協(xié)議棧和Rtp/Rtcp。硬件基礎目前是基于上面Mobile IP實例中的硬件平臺,擬向Atmel公司即將推出的AT76C902片上系統(tǒng)芯片移植。
3.3Mobile SIP的應用實例
圖2是SIP終端移動性的一個簡單示例。當移動主機MH如①所示移動時,獲得新的IP地址laptop.dec.ecnu.edu.cn。為了能繼續(xù)MH和對方CH的會話(如②),需要進行目標更新過程來達到會話切換的目的。如前面所描述的目標更新過程,MH構造一個ReINVITE請求消息,將新的聯(lián)系地址放入Contact頭部域,發(fā)送給CH(如③),當CH收到請求消息后,發(fā)現(xiàn)Contact頭部的內(nèi)容和對話上下文的遠端目標不同,就會使用新的聯(lián)系地址與MH聯(lián)系,返回一個OK響應(如④)。MH收到OK響應之后,返回一個ACK來完成整個切換過程(如⑤),這樣,MH就以新地址和CH建立了一條數(shù)據(jù)傳輸通道(如⑥)。最后,MH還要向注冊服務器注冊新聯(lián)系地址(如⑦)。
下面是示例中最重要的ReINVITE消息:INVITE sip:Tom@cs.ecnu.edu.cn SIP/2.0
Via: SIP/2.0/UDP laptop.dec.ecnu.edu.cn
From: sip: Alice@cs.ecnu.edu.cn
To: sip: Tom@cs.ecnu.edu.cn
Contact: sip: Alice@laptop.dec.ecnu.edu.cn
end SIP header, begin SDP payload>
c=IN IPv4 laptop.dec.ecnu.edu.cn
end SDP payload>4兩種移動性方案比較
兩種移動性方案比較如表1所列。
5 總結
移動性在嵌入式環(huán)境下的應用隨著無線網(wǎng)絡的發(fā)展越來越廣泛,如何提高移動過程中快速切換、低響應時間以及高帶寬利用率等問題是值得一直關注的問題。在進一步的研究過程中,將會對數(shù)據(jù)流傳輸過程和安全性方面的問題加以考慮。
評論