使用初始会话协议完成第三方注销业务的方法

文档序号:7960585阅读:195来源:国知局
专利名称:使用初始会话协议完成第三方注销业务的方法
技术领域
本发明涉及SIP注册服务器和SIP终端在注销业务中的一种实现方法,确切地说,涉及一种使用初始会话SIP协议完成第三方注销业务的方法;属于SIP协议在通信业务中的应用技术领域。
背景技术
初始会话SIP协议是目前业界最为活跃的通信协议之一。现在,作为PSTN网络下一代网络演进方向之一的软交换网络和3G移动网络中的多媒体域都采用SIP协议作为其核心协议,为用户提供解决方案。
SIP协议将识别用户身份的标识称为用户账号,SIP网络会为每个用户分配一个或多个账号,该账号在形式上可表现为SIP URI或目前广泛应用的E.164号码。用户则将账号对外公开,作为其他用户联系自己的共有标识。这样,寻找用户的过程实际上就成为将某个账号信息告知网络,再要求网络找到该账号用户的过程。由于SIP协议通常运行于IP网络上,即SIP协议一般基于IP网络传输,而基于IP地址寻址是IP网络的基本特点。因此最终寻找用户的结果就是找到用户当前所在的IP地址。
注册行为是SIP协议的非常重要的功能,SIP终端通过注册完成账号与IP地址的绑定关系。SIP用户通过注册,可以非常灵活地随时改变自己当前地址(即IP地址)与账号的绑定关系;用户也可以在不方便情况下,通过他人完成自己IP地址与账号的绑定和更改。在SIP协议中,一个账号可以绑定一个或多个联系地址。
与注册相关的行为包括地址注册、注册更新、注册查询、注销。
一般情况下,当SIP终端注册成功后,注册服务器会设定一个时效范围,表明只有在该时间段内当前地址与账号的绑定关系才有效。通常,一个注册消息中只带有一个地址信息,表明账号信息与该地址的当前绑定关系;但也有可能在一个注册信息中带有多个地址,表明该一个账号同时与多个联系地址的绑定关系,或者多个账号与多个联系地址的各自分别对应的绑定关系。其中后一种情况,通常表明一个终端作为代理设备代理其他地址的注册及相关行为。
为保证地址的有效性,SIP终端通常会在当前地址生存周期结束前,发起另外一个注册消息(该消息与原来的注册消息属于同一个注册消息,只是增加消息序列号),该行为称为注册周期更新或注册更新。
当地址注册成功后,用户也可以主动发起注销消息,要求注册服务器解除账号与当前某个或多个地址的绑定关系,称之为注销。注销行为通常是由发起注册的终端完成。在业务处理过程或需求上,也可能存在注销行为由非完成注册的终端发起的情况,此时称为“第三方”注销。
在通过认证鉴权的前提下,当注册服务器收到针对某个地址的注销请求时,注册服务器就会解除该地址与账号的当前绑定关系。当发起注册的终端自己执行注销操作时,一般地说,在后续时间内该终端不会发起主动更新行为。但是,在发生“第三方”注销时,将会存在以下问题针对某个地址B的注销是由非为该B地址注册的“第三方”终端发起时,在通过认证鉴权的前提下,注册服务器将会解除该B地址与某一账号的绑定关系。按照RFC3261规定,注册服务器不会向当前仍然“毫不知情”的、完成B地址与账号绑定关系的发起注册的终端发送该地址已被注销的告示,以使该终端收到告示后,不再发起周期更新行为。
这样,由于SIP协议存在周期更新行为,先前完成B地址注册的终端仍然会发起周期更新行为。当注册服务器收到该周期更新消息后,注册服务器会认为新的注册请求,从而接受该注册,并在其自身数据库内重新绑定账号与B地址的对应关系,由此导致“假注销”。
“假注销”行为直接导致的业务缺陷为根据用户的注销行为,已经把B地址从当前的绑定数据列表中剔除,当有呼叫该用户的请求时,软交换或交换机不应当向B地址寻址。然而,由于“假注销”问题的存在,软交换或交换机会继续向B地址(即当前不希望寻址的联系地址)进行路由,造成业务缺陷或故障。

发明内容
有鉴于此,本发明的目的是提供一种使用初始会话协议SIP完成第三方注销业务的方法,以便能够较好地解决发起注销行为方与发起注册行为方两者不一致而导致的假注销问题及其造成的业务缺陷或故障。
为了达到上述目的,本发明提供了一种使用初始会话协议SIP完成第三方注销业务的方法,其特征在于注册服务器收到第三方注销业务的消息,当发现发起注销行为的终端为非发起注册的终端时,注册服务器应在该被注销地址的生存周期剩余有效时间内继续保留该被注销地址与当前账号的绑定关系,并进行特殊标识,以便将针对被注销地址的周期更新行为进行拒绝;同时,终端要根据注册服务器返回的成功响应,继续进行下一次的周期更新行为,或者根据注册服务器返回的失败响应,不再发起针对原有被注销地址的周期更新行为,以保证注销行为的真正实现。
所述生存周期是注册服务器为每个地址绑定某个账号所设定的有效时间,通常为30~60分钟。
所述注册服务器将针对被注销地址的周期更新行为进行拒绝时,有两种情况(1)当发起的周期更新消息中只带有当前被注销地址时,注册服务器将会向当前的注册请求发送失败响应,要求该终端不要再发起周期更新行为;(2)当发起的周期更新消息中除了包括当前被注销的地址与账号的绑定数据外,还包括其他绑定数据时,注册服务器在回复的成功响应中不再带有当前已被注销的地址,要求该终端在下次发起的周期更新请求中不再带有该当前被注销的地址。
当发起的周期更新消息中只带有当前被注销地址时,所述方法的信令流程包括下列操作步骤(1)第一个终端(A1)向注册服务器发起注册请求消息,以便将该终端(A1)所在的第一个IP地址与用户的账号(A)进行绑定,该请求消息中包括第一个IP地址与账号(A)的绑定关系;(2)注册服务器对注册请求进行鉴权,如果通过鉴权,注册服务器向第一个终端(A1)返回成功响应,表示注册成功;该成功响应中带有绑定数据[账号(A),第一个IP地址]的有效时间;如果没有通过鉴权,结束该流程;(3)注册服务器接收到第二个终端(A2)的注销请求消息,即要求解除绑定数据[账号(A),第一个IP地址]的绑定关系在该消息中,绑定数据[账号(A),第一个IP地址]的时效为0;(4)注册服务器对注销行为进行鉴权,如果通过鉴权,注册服务器认可该账号(A)与第一个IP地址解除绑定关系,注册服务器向第二个终端(A2)返回成功响应,同时,注册服务器将对绑定数据[账号(A),第一个IP地址]添加表明该绑定关系已被解除的特殊标识,并继续维护该绑定数据生存周期的剩余有效时间,以便等待第一个终端(A1)的周期更新请求;如果没有通过鉴权,结束该流程;(5)注册服务器将在下述三种情况下删除绑定数据[账号(A),第一个IP地址]在当前生存周期仍然处于有效时间内,注册服务器收到针对绑定数据[账号(A),第一个IP地址]的周期更新消息、或新的初始注册消息,或者在当前生存周期的有效时间变为零时;(6)第一个终端(A1)在其上一个注册成功后的生存周期内,向注册服务器发起周期更新注册消息;(7)注册服务器接收到第一个终端(A1)对绑定数据[账号(A),第一个IP地址]的周期更新注册请求消息后,向该第一个终端(A1)返回失败响应;(8)第一个终端(A1)收到失败响应后,不再发起针对用户A的周期更新行为。
当发起的周期更新消息中除了包括当前被注销地址与账号的绑定数据外,还包括其他绑定数据时,所述方法的信令流程包括下列操作步骤(1)因为第一个终端(A1)和其他终端不能够向注册服务器发送注册消息,所以由第二个终端(A2)代理向注册服务器发送注册请求,第二个终端(A2)发送的注册请求中除了包括第一个IP地址与账号(A)的绑定数据以外,还包括有账号(A)或其他账号和第一个IP地址或其他IP地址的绑定数据;(2)注册服务器对注册请求进行鉴权,如果通过鉴权,注册服务器向第二个终端(A2)返回成功响应,表示注册成功;该成功响应中同时带有所述各个账号与IP地址绑定数据的有效时间;如果没有通过鉴权,结束该流程;(3)注册服务器收到非第二个终端(A2)发起的注销请求消息,即要求解除绑定数据[账号(A),第一个IP地址]的绑定关系该消息中,绑定数据[账号(A),第一个IP地址]的时效为0;(4)注册服务器对注销行为进行鉴权,如果通过鉴权,注册服务器认可绑定数据[账号(A),第一个IP地址]解除绑定关系,注册服务器向发起注销行为的终端返回成功响应,同时,注册服务器将对绑定数据[账号(A),第一个IP地址]添加表明该绑定关系已被解除的特殊标识,并继续维护该绑定数据生存周期的剩余有效时间,以便等待第二个终端(A2)的周期更新请求;如果没有通过鉴权,结束该流程;(5)注册服务器将在下述三种情况下删除绑定数据[账号(A),第一个IP地址]在当前生存周期仍然处于有效时间内,注册服务器收到针对绑定数据[账号(A),第一个IP地址]的周期更新消息、或新的初始注册消息,或者在当前生存周期的有效时间变为零时;(6)第二个终端(A2)在其上一个注册成功后的生存周期内,向注册服务器发起周期更新注册请求消息,该消息中仍然带有绑定数据[账号(A),第一个IP地址];(7)注册服务器接收到第二个终端(A2)发送的周期更新注册请求后,发现其中绑定数据[账号A,第一个IP地址]当前已被注销,注册服务器则向第二个终端(A2)返回的成功响应中不再带有绑定数据[账号(A),第一个IP地址],而仅有其他没有被注销的账号和IP地址的绑定数据,即要求第二个终端(A2)发起下一个周期更新消息中,应该只携带继续有效的绑定数据;
(8)第二个终端(A2)收到成功响应后,在下一次周期更新消息中只带有当前有效的绑定数据。
本发明是一种使用SIP协议完成第三方注销业务的方法,操作步骤简单、易行,工作可靠,该方法能够切实有效地解决发起注销行为方与发起注册行为方两者不一致而导致的假注销现象的出现,以及其所带来的各种问题,有力保证注销业务的顺利实现。采用本发明方法,在鉴权通过的前提下,用户可以在任何地方、任何时间,采用任何终端完成对联系地址的更改;大大减小了注册、注销行为的耦合关系,即发起注销的终端可以采用与注册相同或不同的终端。
作为一种拓展或特殊场景下的应用,本发明对于下述系统具有特别的优势如果系统只支持一个账号绑定一个IP地址的应用,当注册服务器收到另外一个终端的“同一个账号,另一个IP地址”绑定数据的注册消息时,系统将认为后一个注册请求是对前一个注册请求的注销或替换,从而把该账号的绑定关系重新设置为后一个注册请求的绑定数据。这样,该两个终端都会发起周期更新行为,使得注册服务器内涉及该账号的绑定数据会频繁地发生变化,造成不同时间段内,网络对账号的寻址不同。然而,这种网络对账号的寻址频繁变化的现象是用户不希望出现的。采用本发明方法,可以有效解决上述系统的缺陷,保证业务的正常实施。


图1(A)、(B)分别是本发明适用的两种第三方注销业务的发起情况注册更新消息中只带有当前被注销的绑定数据和注册更新消息中带有多个绑定数据,其中包含当前被注销的地址。
图2是两个终端各自发起注册,但注销行为由非完成注册的终端发起的第三方注销业务情况示意图。
图3是图2中第三方注销业务的周期更新消息中只包括当前已被注销绑定数据的信令流程时序图。
图4是一个注册消息带有多个绑定数据、而注销行为由非完成注册的终端发起的第三方注销业务情况示意图。
图5是图4中第三方注销业务的周期更新消息中包括多个绑定数据的信令流程时序图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
为了防止发生假注销情况,研制了本发明的方法注册服务器收到第三方注销业务的消息,即发现发起注销行为的终端为非发起注册的终端时,注册服务器应在该被注销地址的生存周期(通常为30~60分钟)剩余有效时间内继续保留该被注销地址与当前账号的绑定关系,并进行特殊标识,以便将针对被注销地址的周期更新行为进行拒绝;同时,终端要根据注册服务器返回的成功响应,继续进行下一次的周期更新行为,或者根据注册服务器返回的失败响应,不再发起针对原有被注销地址的注册周期更新行为,以保证注销行为的真正实现。
参见图1,介绍本发明中注册服务器对被注销地址的终端发起的周期更新行为进行拒绝的两种情况当发起的周期更新消息中只带有当前被注销的绑定数据时,注册服务器将会向当前的注册请求发送拒绝响应,要求该终端不要再发起周期更新行为(如图1(A)所示);当发起的周期更新消息中除了包括当前被注销的绑定数据外,还有其他绑定数据时,注册服务器在回复的成功响应中不再包括当前已被注销的地址,要求该终端在下次发起的周期更新请求中不再带有该当前被注销的地址(如图1(B)所示)。
下面具体介绍上述两种不同场景的第三方注销及其信令流程的时序图。
参见图2,用户A有两个各自分别发起注册请求的地址1、地址2,即在地址1、地址2分别设置终端A1和终端A2。注册成功后,由位于地址2的终端A2发起注销地址1的操作。此时的周期更新消息中只包括当前已被注销的地址(其信令流程如图3所示)。
参见图3,介绍图2应用场景中的信令流程时序图(图示流程中省略了鉴权过程,实际操作中会有鉴权过程)(1)终端A1向注册服务器发起针对地址1的注册(地址1和地址2都绑定在用户A账号下,而且,在此之前终端A2已经向注册服务器注册成功),发送注册请求REGISTER消息。该消息中包括地址1与用户A账号的绑定关系。
(2)(鉴权通过后),注册服务器将会向终端A1发送成功响应200消息,表示注册成功。该响应消息中同时带有地址1的有效时间(即生存周期)为30分钟。当终端A1注册成功后,针对用户A的账号,同时存在有两个注册联系IP地址终端A1所在的地址1和终端A2所在的地址2。
(3)地址2的终端A2发起对地址1的注销请求REGISTER,即向注册服务器发送注销请求消息,该消息中表明地址1的有效时间为0。
(4)(鉴权通过后),注册服务器认可用户A要与地址1解除绑定关系,注册服务器向位于地址2的终端A2发送成功响应200消息。注册服务器将绑定数据[账号A,地址1]添加表明该绑定关系已被解除的特殊标识,并继续维护该绑定数据的生存周期的剩余有效时间,以便等待周期更新请求。
(5)对位于地址1的终端A1而言,会在上一个注册成功后的生存周期(30分钟)内,向注册服务器发起周期更新注册消息REGISTER。
(6)接收到地址1的周期更新注册后,注册服务器向位于地址1的终端A1发送失败响应403消息Forbidden。
(7)位于地址1所在的终端A1收到失败响应403消息后,不再发起针对账户A的周期更新行为。
参见图4,用户A绑定有两个地址1、地址2,并且,该地址1、地址2分别对应终端A1和终端A2。此前,由于某种原因,终端A1不能够向注册服务器发送注册消息,而是由终端A2同时为地址1和地址2注册。注册成功后,位于地址6的终端(即非终端A2)发起注销地址1的操作。此时后续的周期更新消息中就存在两个绑定数据(其信令流程如图5所示)。
参见图5,介绍图4应用场景中的信令流程时序图(图示流程中省略了鉴权过程,实际操作中会有鉴权过程)(1)终端A2向注册服务器发起针对地址1和地址2的注册请求REGISTER消息(即将地址1和地址2都绑定在用户A的账号下),该请求消息中包括地址1和地址2同时与账号A的绑定数据。
(2)(鉴权通过后),注册服务器向终端A2发送成功响应200消息,表示注册成功。该响应消息中同时带有地址1和地址2的有效时间(即生存周期)为30分钟。此时,用户A的账号同时绑定两个IP地址终端A1所在的地址1和终端A2所在的地址2。
(3)地址6的终端发起对地址1的注销请求,即地址6的终端向注册服务器发送注销请求REGISTER消息,该消息中表明地址1的有效时间为0。
(4)(鉴权通过后),注册服务器认可用户A要与地址1解除绑定关系,注册服务器向位于地址2的终端A2发送成功响应200消息。注册服务器将绑定数据[账号A,地址1]添加表明该绑定关系已被解除的特殊标识,并继续维护该绑定数据的生存周期的剩余有效时间,以便等待周期更新请求。
(5)对终端A2而言,将在上一个注册成功后的生存周期(30分钟)内,向注册服务器发起周期更新注册REGISTER消息。
(6)收到终端A2发送的周期更新注册消息后,注册服务器发现地址1当前已被注销,注册服务器则向终端A2发送的成功响应200消息中,仅有地址2与账户A的绑定数据;即要求终端A2发起的下一个周期更新中应当只有地址2的信息。
(7)收到注册服务器发送的成功响应200消息后,位于地址2的终端A2在其发起的下一次周期更新消息中,将只带有地址2的信息,即不再发起针对地址1的周期更新行为。
本发明已经采取上述方法进行了试验实施,试验的结果是成功的,能够适用于现有的各项业务中,实现了发明目的。
权利要求
1.一种使用初始会话协议SIP完成第三方注销业务的方法,其特征在于注册服务器收到第三方注销业务的消息,当发现发起注销行为的终端为非发起注册的终端时,注册服务器应在该被注销地址的生存周期剩余有效时间内继续保留该被注销地址与当前账号的绑定关系,并进行特殊标识,以便将针对被注销地址的周期更新行为进行拒绝;同时,终端要根据注册服务器返回的成功响应,继续进行下一次的周期更新行为,或者根据注册服务器返回的失败响应,不再发起针对原有被注销地址的周期更新行为,以保证注销行为的真正实现。
2.根据权利要求1所述的完成第三方注销业务的方法,其特征在于所述生存周期是注册服务器为每个地址绑定某个账号所设定的有效时间,通常为30~60分钟。
3.根据权利要求1所述的完成第三方注销业务的方法,其特征在于所述注册服务器将针对被注销地址的周期更新行为进行拒绝时,有两种情况(1)当发起的周期更新消息中只带有当前被注销的绑定数据时,注册服务器将会向当前的注册请求发送失败响应,要求该终端不要再发起周期更新行为;(2)当发起的周期更新消息中除了包括当前被注销的地址与账号的绑定数据外,还包括其他绑定数据时,注册服务器在回复的成功响应中不再带有当前已被注销的地址,要求该终端在下次发起的周期更新请求中不再带有该当前被注销的地址。
4.根据权利要求1或3所述的完成第三方注销业务的方法,其特征在于当发起的周期更新消息中只带有当前被注销地址时,所述方法的信令流程包括下列操作步骤(1)第一个终端(A1)向注册服务器发起注册请求消息,以便将该终端(A1)所在的第一个IP地址与用户的账号(A)进行绑定,该请求消息中包括第一个IP地址与账号(A)的绑定数据;(2)注册服务器对注册请求进行鉴权,如果通过鉴权,注册服务器向第一个终端(A1)返回成功响应,表示注册成功;该成功响应中带有绑定数据[账号(A),第一个IP地址]的有效时间;如果没有通过鉴权,结束该流程;(3)注册服务器接收到第二个终端(A2)的注销请求消息,即要求解除绑定数据[账号(A),第一个IP地址]的绑定关系在该消息中,绑定数据[账号(A),第一个IP地址]的时效为0;(4)注册服务器对注销行为进行鉴权,如果通过鉴权,注册服务器认可该账号(A)与第一个IP地址解除绑定关系,注册服务器向第二个终端(A2)返回成功响应,同时,注册服务器将对绑定数据[账号(A),第一个IP地址]添加表明该绑定关系已被解除的特殊标识,并继续维护该绑定数据生存周期的剩余有效时间,以便等待第一个终端(A1)的周期更新请求;如果没有通过鉴权,结束该流程;(5)注册服务器将在下述三种情况下删除绑定数据[账号(A),第一个IP地址]在当前生存周期仍然处于有效时间内,注册服务器收到针对绑定数据[账号(A),第一个IP地址]的周期更新消息、或新的初始注册消息,或者在当前生存周期的有效时间变为零时;(6)第一个终端(A1)在其上一个注册成功后的生存周期内,向注册服务器发起周期更新注册消息;(7)注册服务器接收到第一个终端(A1)对绑定数据[账号(A),第一个IP地址]的周期更新注册请求消息后,向该第一个终端(A1)返回失败响应;(8)第一个终端(A1)收到失败响应后,不再发起针对账号A的周期更新行为。
5.根据权利要求1或3所述的完成第三方注销业务的方法,其特征在于当发起的周期更新消息中除了包括当前被注销地址与用户账号的绑定数据外,还包括其他绑定数据时,所述方法的信令流程包括下列操作步骤(1)因为第一个终端(A1)和其他终端不能够向注册服务器发送注册消息,所以由第二个终端(A2)代理向注册服务器发送注册请求,第二个终端(A2)发送的注册请求中除了包括第一个IP地址与账号(A)的绑定数据以外,还包括账号(A)或其他账号和第一个IP地址或其他IP地址的绑定数据;(2)注册服务器对注册请求进行鉴权,如果通过鉴权,注册服务器向第二个终端(A2)返回成功响应,表示注册成功;该成功响应中同时带有所述各个账号与IP地址绑定数据的有效时间;如果没有通过鉴权,结束该流程;(3)注册服务器收到非第二个终端(A2)发起的注销请求消息,即要求解除绑定数据[账号(A),第一个IP地址]的绑定关系该消息中,绑定数据[账号(A),第一个IP地址]的时效为0;(4)注册服务器对注销行为进行鉴权,如果通过鉴权,注册服务器认可绑定数据[账号(A),第一个IP地址]解除绑定关系,注册服务器向发起注销行为的终端返回成功响应,同时,注册服务器将对绑定数据[账号(A),第一个IP地址]添加表明该绑定关系已被解除的特殊标识,并继续维护该绑定数据生存周期的剩余有效时间,以便等待第二个终端(A2)的周期更新请求;如果没有通过鉴权,结束该流程;(5)注册服务器将在下述三种情况下删除绑定数据[账号(A),第一个IP地址]在当前生存周期仍然处于有效时间内,注册服务器收到针对绑定数据[账号(A),第一个IP地址]的周期更新消息、或新的初始注册消息,或者在当前生存周期的有效时间变为零时;(6)第二个终端(A2)在其上一个注册成功后的生存周期内,向注册服务器发起周期更新注册请求消息,该消息中仍然带有绑定数据[账号(A),第一个IP地址];(7)注册服务器接收到第二个终端(A2)发送的周期更新注册请求后,发现其中绑定数据[账号A,第一个IP地址]当前已被注销,注册服务器向第二个终端(A2)返回的成功响应中不再带有绑定数据[账号(A),第一个IP地址],而仅有其他没有被注销的账号和IP地址的绑定数据,即要求第二个终端(A2)发起下一个周期更新消息中,应该只携带继续有效的绑定数据;(8)第二个终端(A2)收到成功响应后,在下一次周期更新消息中只带有当前有效的绑定数据。
全文摘要
一种使用初始会话协议SIP完成第三方注销业务的方法,其特征在于注册服务器收到第三方注销业务的消息,当发现发起注销行为的终端为非发起注册的终端时,注册服务器应在该被注销地址的生存周期剩余有效时间内继续保留该被注销地址与当前账号的绑定关系,并进行特殊标识,以便将针对已被注销地址的周期更新行为进行拒绝;同时,终端要根据注册服务器返回的成功响应,继续进行下一次的周期更新行为,或者根据注册服务器返回的失败响应,不再发起针对原有被注销地址的周期更新行为,以保证注销行为的真正实现。该方法步骤简单、易行,工作可靠,能够切实有效地解决发起注销行为方与发起注册行为方两者不一致而导致的假注销问题。
文档编号H04L29/04GK101064711SQ20061007819
公开日2007年10月31日 申请日期2006年4月28日 优先权日2006年4月28日
发明者陆立, 梁柏青, 张鹏生, 陆钢 申请人:广东省电信有限公司研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1