SIP-移动性


个人移动性是指在多种设备上拥有恒定标识符的能力。SIP 使用 REGISTER 方法支持基本的个人移动性,该方法允许移动设备更改其 IP 地址和互联网连接点,但仍然能够接收来电。

SIP 还可以支持服务移动性——用户在移动时保持相同服务的能力

切换期间的 SIP 移动性(预呼叫)

设备通过简单的 sip 注册将其联系人 URI 与记录地址绑定。根据设备IP地址,注册授权该信息在sip网络中自动更新。

在切换期间,用户代理在不同的运营商之间进行路由,其中​​它必须作为另一个服务提供商的 AOR 再次向联系人注册。

例如,我们以下面的调用流程为例。UA 暂时收到新服务提供商的新 SIP URI。然后UA执行双重注册 -

  • 第一次注册是向新服务运营商进行的,它将设备的联系人 URI 与新服务提供商的 AOR URI 绑定。

  • 第二个 REGISTER 请求被路由回原始服务提供商,并提供新服务提供商的 AOR 作为联系 URI。

如后面的呼叫流程所示,当请求进入原始服务提供商的网络时,INVITE 会重定向到新服务提供商,然后新服务提供商将呼叫路由给用户。

SIP 移动性

对于第一次注册,包含设备 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 支持此场景,因为对话中的重新邀请可用于更新联系人 URI 并更改 SDP 中的媒体信息。

看一下下图提到的调用流程。

  • 在这里,汤姆检测到一个新网络,

  • 使用 DHCP 获取新的 IP 地址,并且

  • 执行重新邀请以允许信令和媒体流至新的 IP 地址。

如果 UA 可以从两个网络接收媒体,则中断可以忽略不计。如果不是这种情况,可能会丢失一些媒体数据包,从而导致呼叫轻微中断。

通话期间的移动性

重新邀请将显示如下 -

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

re-INVITE 在 Via 和 Contact 标头字段中包含 Bowditch 的新 IP 地址以及 SDP 媒体信息。

Midcall 中的移动性(带替换标头)

在呼叫中移动性中,实际路由集(SIP 消息必须遍历的 SIP 代理集)必须更改。我们无法在通话中移动中使用重新邀请

例如,如果 NAT 穿越需要代理,则必须更改联系人 URI — 必须创建一个新对话框。因此,它必须发送带有 Replaces 标头的新 INVITE,该标头标识现有会话。

注意- 假设 A 和 B 都在通话中,如果 A 收到另一个带有替换标头的 INVITE(假设来自 C)(应与现有对话框匹配),则 A 必须接受 INVITE 并终止与 B 的会话并传输所有资源到新形成的对话框。

调用流程如下图所示。它与之前使用 re-INVITE 的呼叫流程类似,不同之处在于,当接受带有 Replaces 的 INVITE 时,会自动生成 BYE 以终止现有对话。

呼叫中的移动性

以下是这种情况下需要注意的要点 -

  • Tom 和 Jerry 之间的现有对话包括旧访问的代理服务器。

  • 使用新无线网络的新对话需要包含新访问的代理服务器。

  • 结果,Tom 发送了带有替换的 INVITE,这将创建一个新对话框,其中包括新访问的代理服务器,但不包括旧访问的代理服务器。

  • 当 Jerry 接受 INVITE 时,会自动发送 BYE 以终止旧对话,该对话通过现在不再参与会话的旧访问代理服务器进行路由。

  • 最终的媒体会话是使用来自 INVITE 中 SDP 的 Tom 新 IP 地址建立的。

服务移动性

SIP 中的服务可以在代理或 UA 中提供。除非用户的设备配置相同的服务,否则提供服务移动性和个人移动性可能具有挑战性。

SIP 可以轻松支持 Internet 上的服务移动性。连接到 Internet 时,配置为在印度使用一组代理的 UA 在欧洲漫游时仍然可以使用这些代理。它不会对媒体会话的质量产生任何影响,因为媒体始终直接在两个 UA 之间流动,不会穿越 SIP 代理服务器。

仅当端点连接到 Internet 时,端点驻留服务才可用。如果端点暂时失去其互联网连接,则端点中实现的诸如呼叫转接服务之类的终止服务将失败。因此,某些服务是使用 SIP 代理服务器在网络中实现的。