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:[email protected]> 
From: Tom <sip:[email protected]>;tag = 72d65a24 
Call-ID: [email protected] 
CSeq: 1 REGISTER 
Contact: <sip:[email protected]: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:[email protected]> 
From: Tom <sip:[email protected]>;tag = 45375 
Call-ID:[email protected] 
CSeq: 6421 REGISTER 
Contact: <sip:[email protected]> 
Content-Length: 0

上图中所示的第一个 INVITE 将发送到 sip:registrar2.in;第二个 INVITE 将发送到 sip: sip:[email protected],它将转发到sip:[email protected]。它到达 Tom 并允许建立会话。这两个注册都需要定期刷新。

呼叫期间的移动性(重新邀请)

用户代理可能会在会话期间更改其 IP 地址,因为它从一个网络切换到另一个网络。基本 SIP 支持这种情况,因为对话中的重新邀请可用于更新 Contact URI 并更改 SDP 中的媒体信息。

请查看下图中提到的呼叫流程。

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

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

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

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

Mobility During Call

重新邀请将显示如下 -

INVITE sip:[email protected] SIP/2.0  
Via: SIP/2.0/UDP 172.22.1.102:5060;branch = z9hG4bK918f5a84fe6bf7a 
Max-Forwards: 70 

To: <sip:[email protected]> 

From: sip:[email protected];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 代理服务器在网络中实现。

广告