SIP - 移動性



個人移動性是指能夠在多個裝置上擁有一個恆定的識別符號。SIP 使用 REGISTER 方法支援基本的個人移動性,該方法允許移動裝置更改其 IP 地址和 Internet 連線點,同時仍然能夠接收來電。

SIP 還可以支援服務移動性——使用者在移動時保持相同服務的能力。

切換期間的 SIP 移動性(呼叫前)

裝置透過簡單的 SIP 註冊將其 Contact URI 與地址記錄繫結。根據裝置 IP 地址,註冊會自動更新 SIP 網路中的此資訊。

在切換過程中,使用者代理在不同的運營商之間路由,它必須使用 Contact 作為 AOR 再次向另一個服務提供商註冊。

例如,讓我們以以下呼叫流程為例。UA 暫時接收了來自新服務提供商的新 SIP URI。然後,UA 執行雙重註冊 -

  • 第一次註冊是在新的服務運營商處進行的,它將裝置的 Contact URI 與新服務提供商的 AOR URI 繫結。

  • 第二個 REGISTER 請求被路由回原始服務提供商,並提供新服務提供商的 AOR 作為 Contact URI。

如呼叫流程後面所示,當請求進入原始服務提供商的網路時,INVITE 將被重定向到新服務提供商,然後新服務提供商將呼叫路由到使用者。

SIP Mobility

對於第一次註冊,包含裝置 URI 的訊息將是 -

REGISTER sip:visited.registrar1.com SIP/2.0 
Via: SIP/2.0/UDP 172.22.1.102:5060;branch = z9hG4bK97a7ea349ce0fca 
Max-Forwards: 70 
To: Tom <sip:UA1@registrar1.in> 
From: Tom <sip:UA1@registrar1.in>;tag = 72d65a24 
Call-ID: 4e719d1c1fc9000803630373300@172.22.1.102 
CSeq: 1 REGISTER 
Contact: <sip:Tom@172.22.1.102:5060> 
Expires: 600000 
Content-Length: 0

第二個包含漫遊 URI 的註冊訊息將是 -

REGISTER sip:home.registrar2.in SIP/2.0 
Via: SIP/2.0/UDP 172.22.1.102:5060;branch = z9hG4bKah4vn2u 
Max-Forwards: 70 
To: Tom <sip:UA1@registrar2.in> 
From: Tom <sip:UA1@registrar2.in>;tag = 45375 
Call-ID:87nr43i@172.22.1.102 
CSeq: 6421 REGISTER 
Contact: <sip:UA1@registrar2.in> 
Content-Length: 0

上圖中所示的第一個 INVITE 將傳送到 sip:registrar2.in;第二個 INVITE 將傳送到 sip: sip:Tom@registrar2.in,它將轉發到sip:Tom@172.22.1.102。它到達 Tom 並允許建立會話。這兩個註冊都需要定期重新整理。

呼叫期間的移動性(重新邀請)

使用者代理可能會在會話期間更改其 IP 地址,因為它從一個網路切換到另一個網路。基本 SIP 支援這種情況,因為對話中的重新邀請可用於更新 Contact URI 並更改 SDP 中的媒體資訊。

請檢視下圖中提到的呼叫流程。

  • 在這裡,Tom 檢測到一個新網路,

  • 使用 DHCP 獲取新的 IP 地址,以及

  • 執行重新邀請以允許訊號和媒體流到新的 IP 地址。

如果 UA 可以從兩個網路接收媒體,則中斷可以忽略不計。如果不是這種情況,一些媒體資料包可能會丟失,導致呼叫略微中斷。

Mobility During Call

重新邀請將顯示如下 -

INVITE sip:Jerry@TTP.com SIP/2.0  
Via: SIP/2.0/UDP 172.22.1.102:5060;branch = z9hG4bK918f5a84fe6bf7a 
Max-Forwards: 70 

To: <sip:Harry@TTP.com> 

From: sip:Tom@PPT.com;tag = 70133df4 
Call-ID: 76d4861c19c 
CSeq: 1 INVITE 
Accept: application/sdp 
Accept-Language: en 

Allow: INVITE,ACK,CANCEL,BYE,INFO,OPTIONS,REFER,NOTIFY,SUBSCRIBE 
Contact: <sip:172.22.1.102:5060>; 
Content-Type: application/sdp 
Content-Length: 168 

v = 0
o = PPT 40467 40468 IN IP4 192.168.2.1 
s = - 
c = IN IP4 192.168.2.1 
b = AS:49 
t = 0 0 
b = RR:0 
b = RS:0 
a = rtpmap:97 AMR/8000/1 
m = audio 6000 RTP/AVP 96 
a = fmtp:102 0-15 
a = ptime:20 
a = maxptime:240

重新邀請在 Via 和 Contact 標頭欄位以及 SDP 媒體資訊中包含 Bowditch 的新 IP 地址。

通話中移動性(使用 replace 標頭)

在通話中移動性中,必須更改實際的路由集(SIP 訊息必須遍歷的 SIP 代理集)。我們不能在通話中移動性中使用重新邀請

例如,如果代理對於 NAT 遍歷是必要的,則必須更改 Contact URI - 必須建立一個新的對話。因此,它必須傳送一個新的 INVITE,其中包含一個 Replaces 標頭,該標頭標識現有的會話。

注意 - 假設 A 和 B 都在通話中,如果 A 收到另一個 INVITE(例如來自 C)以及 replace 標頭(應與現有對話匹配),則 A 必須接受 INVITE 並終止與 B 的會話並將所有資源傳輸到新形成的對話。

呼叫流程如下圖所示。它類似於之前使用重新邀請的呼叫流程,只是在接受帶有 Replaces 的 INVITE 時會自動生成 BYE 以終止現有對話。

Mobility In Midcall

以下是此場景中需要注意的要點 -

  • Tom 和 Jerry 之間現有的對話包括舊的已訪問代理伺服器。

  • 使用新無線網路的新對話需要包含新的已訪問代理伺服器。

  • 因此,Tom 傳送了一個帶有 Replaces 的 INVITE,它建立了一個新的對話,該對話包括新的已訪問代理伺服器,但不包括舊的已訪問代理伺服器。

  • 當 Jerry 接受 INVITE 時,會自動傳送 BYE 以終止透過舊的已訪問代理伺服器路由的舊對話,該代理伺服器現在不再參與會話。

  • 生成的媒體會話使用 INVITE 中 SDP 中的 Tom 的新 IP 地址建立。

服務移動性

SIP 中的服務可以在代理或 UA 中提供。除非使用者的裝置以相同服務進行相同配置,否則提供服務移動性和個人移動性可能具有挑戰性。

SIP 可以輕鬆支援透過 Internet 的服務移動性。當連線到 Internet 時,配置為使用印度一組代理的 UA 仍然可以在歐洲漫遊時使用這些代理。它對媒體會話的質量沒有任何影響,因為媒體始終直接在兩個 UA 之間流動,並且不會遍歷 SIP 代理伺服器。

端點駐留服務僅在端點連線到 Internet 時可用。如果端點暫時丟失了 Internet 連線,則在端點中實現的呼叫轉發服務等終止服務將失敗。因此,某些服務使用 SIP 代理伺服器在網路中實現。

廣告

© . All rights reserved.