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