SIP 移动性
个人移动性是在多个设备上拥有常量标识符的功能。 SIP使用REGISTER方法支持基本的个人移动性,其允许移动设备改变其到因特网的IP地址和连接点,并且仍然能够接收呼入呼叫。
SIP还可以支持服务移动性 - 移动时用户保持相同服务的能力
切换期间的SIP移动性(呼叫前)
设备通过简单的SIP注册将其联系URI与记录的地址绑定。根据设备IP地址,注册授权此信息在SIP网络中自动更新。
在切换期间,用户代理在不同运营商之间路由,其中它必须再次向作为AOR的联系人注册另一服务提供商。
例如,让我们以下面的调用流程为例。UA已经临时接收到具有新服务提供商的新SIP URI。 UA然后执行双重注册 -
第一次注册是使用新的服务运营商,它将设备的Contact URI与新的服务提供商的AOR URI绑定。
第二个REGISTER请求被路由回原始服务提供者,并提供新的服务提供者的AOR作为联系URI。
如稍后在呼叫流程中所示,当请求进入原始服务提供商的网络时,INVITE被重定向到新的服务提供商,然后新的服务提供商将呼叫路由到用户。
对于第一次注册,包含设备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支持此场景,因为对话框中的re-INVITE可用于更新联系URI并更改SDP中的媒体信息。
看看下面图中提到的呼叫流程。
这里,Tom检测到一个新的网络,
使用DHCP获取新的IP地址,和
执行re-INVITE以允许信令和媒体流到新的IP地址。
如果UA可以从两个网络接收媒体,则中断可以忽略。 如果不是这种情况,则几个媒体分组可能丢失,导致呼叫的轻微中断。
re-INVITE将显示如下 -
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报头字段和SDP媒体信息中包含Bowditch的新IP地址。
移动性在Midcall(与替换标题)
在中间移动性中,实际路由集(SIP消息必须穿越的SIP代理集)必须改变。我们不能在midcall移动中使用re-INVITE
例如,如果NAT穿越需要代理,则必须更改联系URI - 必须创建一个新对话框。因此,它必须发送一个带有Replaces标头的新INVITE,它标识现有会话。
注意 - 假设A&amp; B都在一个调用中,如果A得到另一个INVITE(我们说从C)替换头(应该匹配现有的对话框),则A必须接受INVITE并终止与B的会话,并将所有资源转移到新形成的对话框。
呼叫流程如下图所示。 它类似于使用re-INVITE的先前呼叫流程,除了当接受具有Replaces的INVITE时自动生成BYE以终止现有对话。
下面是在这种情况下要注意的要点 -
Tom和Jerry之间的现有对话包括旧的访问代理服务器。
使用新无线网络的新对话框需要包括新的访问代理服务器。
结果,由Tom发送具有Replaces的INVITE,其创建包括新访问的代理服务器但不包括旧的访问的代理服务器的新对话。
当Jerry接受INVITE时,会自动发送一个BYE,以终止通过现在不再包含在会话中的旧访问代理服务器路由的旧对话。
使用来自INVITE中的SDP的Tom的新IP地址来建立所得到的媒体会话。
服务移动性
SIP中的服务可以在代理中或在UA中提供。除非用户的设备被相同地配置有相同的服务,否则提供服务移动性以及个人移动性可能是有挑战性的。
SIP可以轻松地支持Internet上的服务移动性。当连接到Internet时,配置为在印度使用一组代理的UA仍然可以在欧洲漫游时使用这些代理。它对媒体会话的质量没有任何影响,因为媒体总是直接在两个UA之间流动,并且不穿过SIP代理服务器。
端点驻留服务仅在端点连接到Internet时可用。如果端点已临时丢失其Internet连接,则端点中实现的端点服务(例如呼叫转发服务)将失败。因此,使用SIP代理服务器在网络中实现一些服务。