基于会话发起协议的用户注册的方法、系统及终端、服务器的制作方法

文档序号:7659820阅读:161来源:国知局
专利名称:基于会话发起协议的用户注册的方法、系统及终端、服务器的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种基于会话发起协议的用户注册 的方法、系统及终端、服务器。
背景技术
会话发起协议(SIP, Session Initiation Protocol)是基于网际协议(IP, Internet Protocol)网络的会话控制协议,通常应用于下一代网络(NGN, Next Generation Network)、 IP多i某体子系统(IMS, IP Multimedia Subsystem)网 络、或其他类型网络作为主要的通信控制协议,用于创建、修改、终结和控 制多媒体会话进程。在SIP协议中定义有用户终端登录注册到注册服务器(registrar)的规范, 现以NGN网络为例对终端注册的过程进行描述。在NGN网络中,注册服务器的功能通常由软交换实现,每个用户会拥有 一个用户号码, 一个用户号码同 一时间只能在一个终端上成功注册到该用户 号码归属的软交换。当用户要使用用户号码从终端A登录注册到软交换时,由终端A发送注 册请求(Register)消息到用户号码归属的软交换申请注册,Register消息中 携带呼叫标志(Call-ID )、用户号码和终端注册地址信息,软交换与终端A之 间通过消息交互完成用户鉴权,鉴权通过之后,软交换存储用户号码和终端 注册地址信息的对应关系,用户通过终端A在软交换上的注册完成,之后, 终端A会定时发送Register消息携带相同的Call-ID、用户号码和注册地址信 息到该软交换,保持与软交换之间的连接状态。在对现有技术的研究和实践过程中,发明人发现现有技术存在以下问题由于有时用户在注册后可能由于某种原因,没有注销就离开了该地,用 户在移动到其它地方后,可能会需要通过其他的终端进行注册。当用户使用相同的用户号码在其他的终端B上向软交换发起新一次注册请求时,软交换有两种处理方式一种是返回失败信息拒绝终端B的注册请求,显然这样做是不能满足用户需求的。另 一种是使用终端B的注册替代终端A的注册,但是由于终端A会继续 定时发送保持连接的Register消息,软交换收到后将作为新的一次注册请求与 终端A交互消息进行鉴权,鉴权通过后再次替换终端B的前一次注册,此后 终端A、 B将陷入循环向软交换注册中,无法为用户提供正常的服务,同样不 能满足用户需求。发明内容本发明要解决的技术问题是使用户在前次注册未注销时,可以在其他终 端注册。为解决上述技术问题本发明 一方面,提供了 一种基于会话发起协议的用 户注册的方法,所述方法包括终端发送携带用户号码的注册请求到注册服务器;所述终端接收注册服务器返回的消息,在所述消息表明该用户号码已在 其他终端注册,且决定取代所述其他终端的注册时,发送请求取代前次注册 的消息至所述注册服务器,以使所述注册服务器为所述发送请求终端进行注 册,注销所述其他终端的注册,以本次注册取代所述其他终端的注册,并使 所述注册服务器发送注册已注销消息至所述其他终端注册,以使所述其他终 端在收到所述通知注册已注销消息后,停止发送注册请求消息到所述注册服 务器。另一方面,提供了一种基于会话发起协议的用户注册的方法,所述方法 包括注册服务器接收终端发送的携带用户号码的注册请求消息;所述注册服务器对所述注册请求消息进行鉴权,当鉴权通过且发现所述 用户号码已通过其他终端建立了注册后,所述注册服务器发送消息至所述终 端,表明该用户号码已在所述其他终端注册;
所述注册服务器在收到所述终端返回的请求取代所述其他终端的注册的 消息时,为所述发送请求终端进行注册,注销所述其他终端的注册,以本次 注册取代所述其他终端的注册,并发送信息,指示所述其他终端注册已注销。另一方面,提供了一种基于会话发起协议的用户注册的系统,所述系统 包括第一终端,用于发送携带用户号码的注册请求消息;在收到表明所述用户号码已在其他终端注册的消息,且决定取代所述其他终端的注册时,发送请求以本次注册取代所述其他终端的注册的消息;注册服务器,用于接收所述注册请求消息,在对其鉴权通过,且发现所 述用户号码已通过其他终端建立了注册后,发送消息至所述第一终端,表明 该用户号码已在所述其他终端注册,在收到所述第一终端返回的请求取代所 述其他终端的注册的消息时,为所述第一终端进行注册,注销所述其他终端 的注册,以本次注册取代所述其他终端的注册,并发送注册已注销消息。第二终端,用于在收到所述注册已注销消息时,停止发送注册请求消息 到所述注册服务器。另一方面,提供了一种终端,所述终端包括发送单元,用于发送携带用户号码注册请求消息至注册服务器;接收单元,用于接收注册服务器返回的消息;处理单元,用于在收到注册服务器返回的消息,表明所述用户号码已在 其他终端注册,且决定取代所述其他终端的注册时,发送消息至所述注册服 务器,以使所述注册服务器为所述发送请求终端进行注册,注销所述其他终 端的注册,以本次注册取代所述其他终端的注册,并使所述注册服务器发送 注册已注销消息,通知到所述其他终端注册已注销。另一方面,提供了一种终端,所述终端包括接收单元,用于接收通知注册已注销消息;处理单元,在收到所述通知注册已注销消息后,使终端停止发送注册请 求消息到注册服务器。
另一方面,提供了一种注册服务器,所述注册服务器包括 接收单元,用于接收终端发送的携带用户号码的注册请求消息; 鉴权单元,用于对所述注册请求进行鉴权;发送单元,用于在对所述注册请求鉴权通过,且发现所述用户号码已通 过其他终端建立了注册后,发送消息至所述终端,表明该用户号码已在所述 其他终端注册,在收到所述终端返回的请求取代所述其他终端的注册的消息 后,为所述发送请求终端进行注册,注销所述其他终端的注册,以本次注册 取代所述其他终端的注册,并发送注册已注销消息,通知到所述其他终端注 册已注销。由以上描述可知,在用户在原注册终端上的注册未注销,又需要在其他 终端注册时,使用本发明实施例提供的技术方案,注册服务器会在使用新的 终端上的注册取代原来的注册后,通知原注册使用的终端,原注册已注销, 原注册使用的终端就不会定时向注册服务器发送保持连接的Register消息,原 终端和新注册使用的终端也就不会陷入循环注册。因此用户可以在原注册未注销时,在其他终端上注册,满足了用户的需求。


图1、本发明实施例提供的基于会话发起协议的用户注册的方法实施例流 程图;图2、本发明实施例提供的基于会话发起协议的用户注册的方法实施例一 信令流程图;图3、本发明实施例提供的基于会话发起协议的用户注册的方法实施例二 信令流程图;图4、本发明实施例提供的基于会话发起协议的用户注册的系统结构图;图5、本发明实施例提供的装置实施例一结构图;图6、本发明实施例提供的装置实施例二结构图;图7、本发明实施例提供的注册服务器实施例结构图。
具体实施方式
本发明实施例提供了 一种基于会话发起协议的用户注册的方法、系统及 终端、服务器,以满足用户在前次注册未注销时,可以在其他终端注册的需 求。本发明实施例提供的基于会话发起协议的用户注册的方法实施例流程图如图1所示步骤101、用户通过终端发送注册请求消息到注册服务器。终端发送注册请求消息到用户号码归属的注册服务器申请注册,注册i青 求消息中携带Call-ID、用户号码和终端注册地址信息。步骤102、注册服务器对本次发起注册请求的用户身份鉴权。步骤103、鉴权通过后,判断该用户号码是否已经通过其他终端建立了注 册关系,若是,则进入步骤104;否则进入步骤109。步骤104、注册服务器返回消息到终端,通知终端该用户号码已经通过其 他终端建立了注册关系。该消息中可以携带用户号码已绑定的注册地址信息。步骤105、终端根据事先配置的规则,决定是提示用户,由用户决定是否 取代;还是直接取代;还是提示用户,然后退出。若决定是提示用户,由用户决定是否取代之前的注册,则进入步骤106;若决定直接取代之前的注册,则进入步骤107;若决定提示用户,然后退出则进入步骤110。这里事先配置的规则,可以由使用者使用时设定,也可以由制造商在终 端出厂前就设定好,或由设计者决定。步骤106、终端输出提示,提示用户该用户号码已通过其他终端建立了注 册,由用户决定是否使用本次注册取代之前的注册,若决定取代,则进入步 骤107;否则进入步骤111。输出提示的方式可以是通过显示介面输出,也可以通过音频输出
步骤107、终端发送用于取代前次注册的消息至注册服务器。步骤108、注册服务器注销前次注册,注册服务器存储该用户号码和本次发出注册请求终端注册地址信息的对应关系,完成用户通过该终端在注册服 务器上的注册。步骤109、注册服务器发送消息,通知前次注册中绑定的终端,前次注册 已被注销。前次注册中绑定的终端收到该消息后,不再继续发送注册请求消息到注 册服务器。流程结束。步骤IIO、终端输出提示,提示用户该用户号码已通过其他终端建立了注册。步骤111、终端退出注册流程。流程结束。若以原绑定的终端为终端B,本次使用的终端为终端A为例,本发明实 施例提供的基于会话发起协议的用户注册的方法实施例一信令流程图如图2 所示步骤201 、终端A发送Register消息到注册服务器。用户在终端A上登录,终端A发送Register消息到注册服务器,在该消 息的Call-ID头域中携带标志本次注册会话的唯一标识,往(TO )域携带该用 户的用户号码,联系(Contact)域携带终端A的地址信息。步骤202、注册服务器返回未授权(Unauthorized)消息。注册服务器返回Unauthorized消息,要求终端A发送用户号码口令用于 鉴权,消息头域携带用于口令加密的挑战字和加密算法。步骤203、终端A发送Register消息到注册服务器。终端A再次发送Register消息注册,消息头域除Call-ID、用户号码、注 册地址外,同时携带鉴权用的用户名、口令、挑战字、加密算法等信息,Call-ID 与步骤201中的Register携带的Call-ID相同。步骤204、鉴权通过,但该用户号码已经通过其他终端建立了注册关系, 注册服务器返回消息到终端,通知终端该用户号码已经通过其他终端建立了 注册关系。注册服务器对用户身份鉴权通过,然后查询存储的用户号码已注册信息,查询到当前已有终端B使用相同的用户号成功注册并保持连接,注册Call-ID 和地址信息与终端A本次发起的注册请求所携带的信息不同,注册服务器向 终端A返回已注册(Already Registered)消息表示已有终端注册并保持连接, 该消息中可以携带已注册的注册地址信息,本实施例中为终端B的注册地址 信息。本步骤中使用的消息是一种SIP格式的消息,可以使用SIP协议中未被分 配的消息号作为该消息的消息号,例如409消息。由于SIP协议定义的SIP消息分为消息头和消息体两部分,有些消息可以 不带消息体,本步骤中使用的消息就可以不带消息体部分,先本文给出一个 该消息消息头部分的格式实例首行SIP/2.0 409 AlreadyRegistered按照SIP协议格式,首行包含协议版本号、消息号、消息描述,本实施 例消息号取409作为示例。FROM: SIP协议格式规定的一个域,携带注册服务器地址,其格式与用 于应答的Register消息发送的FROM域相同。To: SIP协议格式规定的一个域,携带本次注册的用户号码,其格式也和 用于应答的Register消息相同,带注册服务器分配的标签(tag)值。Call-ID: SIP协议格式规定的一个域,表示本次呼叫的标志,其格式与用 于应答的Register消息相同。Cseq: SIP协议格式规定的一个域,其格式与用于应答的Register消息相 同,与Call-ID域一起表示该消息的身份。Contact:携带在注册服务器上本次注册用户号码已经注册的注册地址信 息,并且携带该注册中终端与注册服务器连接的期限(expires)参数。该域内 容为可选的,当该消息携带已注册的注册地址信息时,需要使用Contact域。
Content-长度(Length):表示Contact i或的长度。消息格式示例如下SIP/2.0 409 AlreadyRegisteredFrom: <sip:075589834250@10.75.35.161>;tag=3326082552 To: <sip:075589834250@10.75.35.161>;tag=23f709ft CSeq: 2 REGISTER Call-ID: 1463786448@10.164.8.70Via: SIP/2.0/UDP 10.164.8.70:5060;branch=z9hG4bK730331344;rport=5060Contact: <sip:075589834250@ 10.170.8.100:5060;user=phone>;expires=300Content-Length: 0其中,终端IP地址为10.164.8.70注册服务器地址为10.75.35.161已注册并保持连接的终端地址,本实施例中为终端B的注册地址信息为 10.170.8.100用户号码为075589834250@10.75.35.161步骤205、终端A收到消息后,根据事先配置的规则,决定是否取代之 前的注册,或者提示用户,由用户决定是否取代之前的注册。若由终端决定是否取代,则终端在决定直接取代时,直接进入步骤206; 在决定退出时,可以通知到用户,用户该用户号码已通过其他终端建立了注 册,直接退出流程,若在步骤204中返回的信息携带有用户已注册地址信息, 在本实施例中为终端B的注册地址信息,此时终端可以提取终端B的注册地 址信息,提示用户本次登录使用的用户号码已经注册并显示终端B的地址信 息给用户,提示用户已存在其它注册,登录失败,注册流程结束。若事先配置的策略是由用户决定是否取代之前的注册,则终端输出提示, 提示用户该用户号码已通过其他终端建立了注册,由用户决定是否使用本次 注册取代之前的注册,若决定取代,则进入步骤206;否则退出注册流程。若
在步骤204中返回的信息携带有用户已注册地址信息,在本实施例中为终端B 的注册地址信息,此时终端可以提取终端B的注册地址信息,提示用户该用 户号码前次登录的地址为终端B的注册地址。
步骤206、进入步骤206,说明决定取代前次注册,终端A向注册服务器 发送消息,请求取代之前的注册。
可以实现请求取代之前的注册功能的消息有很多种,本实施例将以 Register消息为例进行描述。
可以实现请求取代之前的注册功能的Register消息,Call-ID头^U夷带本 次注册会话标识(id), TO域携带注册用户号码。在该Register消息中,可以携带两行Contact头域信息, 一行是希望注销 的前次注册地址信息,expires参数取值为0,另 一行为终端A的地址信息, 用于取代前次注册,两行信息位置无顺序关系。
Contact头域一各式示例如下Contact: <sip:Client B address>;expires=0Contact: <sip:Client A address>;expires=300整个Register消息纟各式示例如下REGISTER sip:10.75.35.161:5060 SIP/2.0Via: SIP/2.0/UDP 10.164.8.70:5060;branch=z9hG4bK3562787246 From: <sip:075589834250@10.75.35.161>;tag=3326082552 To:<sip:075589834250@10.75.35.161> Call-ID: 1463786448@10.164.8.70 CSeq: 3 REGISTERContact: <sip:075589834250@10.164.8.70:5060>Contact: <sip:075589834250@10.170.8.100:5060;user=phone>;expires=0Max-Forwards: 5
User-Agent: Softphonevl.O Expires: 300 Content-Length: 0后续步骤通过读取Contact头域信息就可以知道,该Register消息是一个 请求取代之前注册的消息。本步骤中也可以仍然采用标准的Register消息,在后续步骤的消息中携带 注销前次注册的信息,请求取代之前的注册。步骤207 、注册服务器返回Unauthorized消息。注册服务器返回Unauthorized消息,要求终端A发送用户号码口令用于 鉴权,消息头域携带用于口令加密的挑战字和加密算法。步骤208、终端A再次发送Register消息。终端A再次发送Register消息注册,消息头域除步骤206中携带的 Call-ID、用户号码、注册地址外,同时携带鉴权用的用户名、口令、挑战字、 加密算法等信息,Call-ID与步骤206中的Register携带的Call-ID相同。如果步骤206中终端发送的是一个标准的Register消息,则在本步骤中发 送的Register消息中携带注销前次注册的信息,请求取代之前的注册,其实现 方法可参考步骤206的描述。步骤209、鉴权通过,注册服务器以终端A的注册替代终端B的注册, 返回注册成功(200 OK)信息。注册服务器对用户身份鉴权通过,然后从收到的Register消息的Contact 头域中获取到两行Contact头域,注册服务器对两行消息进行逐行处理,根据 每一行中的注册地址信息在注册服务器中进行查询,查询是否在注册服务器 中已经存储了该地址与该用户号码的注册关系。若包含前次注册终端的地址信息的Contact行在前,则对第一行进行处理 时会发现,该终端的地址信息已存在且该地址指向的终端与服务器处于连接 状态,则进一步判断该Contact行是否携带有expires参数;如果该行携带了 expires参数,且expires参数取值为0,则注册服务器将该行携带的注册地址
与用户号码注册关系状态设置为注销状态,或者删除该注册信息,以达到该 行携带的注册地址与用户号码注册关系状态设置为注销状态的目的,在本实 施例中,该行携带的注册地址即为终端B,注册服务器可以将终端B的注册信息设置为注销状态,或者删除掉终端B的注册信息。本步骤中使用何种方式注销原来的注册,通常由事先配置在注册服务器的策略决定。注册服务器处理完携带前次注册信息的Contact行后,继续处理另一个 Contact行,判断该行携带的注册地址信息在注册服务器上没有保存,并且该 行携带的expires参数符合SIP规范要求,且不为0,或者不存在expires参数, 则将该行携带的注册地址添加到用户号码的注册信息表中。保存的信息包括 Call-ID、 CSeq、注册地址、状态,状态设置为保持连状态。在本实施例中, 该行携带的注册地址即为终端A的注册地址,注册服务器将终端A的注册地 址信息设置为注册且保持连接状态。注册服务器按照SIP协议规范向终端A返回注册成功信息。若包含本次注册终端的地址信息的Contact行在前,则对第 一行进行处理 时会发现,该行携带的注册地址信息在注册服务器上没有保存,并且该行携 带的expires参数符合SIP规范要求,且不为0,或者不存在expires参数,则 转去处理另 一个Contact行,先注销前次注册终端,再为本次注册终端进行注 册。此时也可以进一步比对Call-ID, Call-ID不同,则可以进一步确认这是两 次不同的注册。此时在注册服务器上,终端A的注册取代了终端B的注册,但是终端B 并不知道其注册已被注销,所以终端B还会继续发送保持连接的Register消 息到注册服务器,因此注册服务器需要将该注册已注销的信息通知到终端B。将已注销消息通知到终端B的方法有两种, 一种是注册服务器收到终端 B发送的保持连接的Register消息后,将已注销消息返回给终端B;另 一种是 注册服务器在注销终端B的注册后,直接发送信息到终端B,通知终端B该 注册已注销。本发明实施例提供的基于会话发起协议的用户注册的方法实施例一中, 将以第一种方式,注册服务器收到终端B发送的保持连接的Register消息后,
将已注销消息返回给终端B,为例进行信令流程的描述。步骤210、终端B定时向注册服务器发送保持连接的Register消息。步骤211、注册服务器返回Unauthorized消息要求鉴权。注册服务器返回Unauthorized消息,要求终端B发送用户号码口令用于 鉴权,消息头域携带用于口令加密的挑战字和加密算法。步骤212、终端B发送Register消息到注册服务器。终端B再次发送用于鉴权的Register消息注册,消息头域除Call-ID、用 户号码、注册地址外,同时携带鉴权用的用户名、口令、挑战字、加密算法寺J吕息o步骤213、注册服务器鉴权通过后,发送消息至终端B,通知终端B该注 册已被注销。注册服务器鉴权通过后,查询Register消息中携带的用户号码在注册服务 器上保持连接状态的注册地址信息,查询到该注册地址信息与终端B请求注 册地址信息不同,并且保存的Call-ID也与本次Register消息中携带的Call-ID 不同,则返回Already Registered消息,通知终端B该注册已^皮注销,该Already Registered消息Contact头域中,可以携带当前与注册服务器保持连接的终端 A的注册地址信息。本步骤中使用的Already Registered消息格式可参考步骤 204中的Already Registered消息4各式。终端B接收到消息后,获知该注册已被注销,以后不再定时向注册服务 器发送保持连接的Register消息,同时终端B可以输出显示,提示用户该注 册已注销。如果注册服务器返回的Already Registered消息Contact头域中,携 带有当前与注册服务器保持连接的终端A的注册地址信息,终端B可以输出 显示,提示用户该用户号码在另一个终端上注册了,注册地址为终端A的注 册地址,终端B上的注册已注销。流程结束。本发明实施例提供的基于会话发起协议的用户注册的方法实施例一中提 到,可以实现请求取代之前的注册功能的消息有很多种,实施例一描述了一
种携带两行Contact头域信息的Register消息,作为实现请求取代之前的注册 功能的消息,本发明实施例提供的基于会话发起协议的用户注册的方法实施 例二将描述另 一种实现请求取代之前的注册功能的消息。并且在实施例二中也将对另一种将已注销消息通知到终端B的方法进行 详纟田描述。仍以原绑定的终端为终端B,本次使用的终端为终端A为例,本发明实 施例提供的基于会话发起协议的用户注册的方法实施例二信令流程图如图3 所示步骤301 、终端A发送Register消息到注册服务器。用户在终端A上登录,终端A发送Register消息到注册服务器,在该消 息的Call-ID头域中携带标志本次注册会话的唯一标识,往(TO )域携带该用 户的用户号码,联系(Contact)域携带终端A的地址信息。步骤302、注册服务器返回未授权(Unauthorized)消息。注册服务器返回Unauthorized消息,要求终端A发送用户号码口令用于 鉴权,消息头域携带用于口令加密的挑战字和加密算法。步骤303 、终端A发送Register消息到注册服务器。终端A再次发送Register消息注册,消息头域除Call-ID、用户号码、注 册地址外,同时携带鉴权用的用户名、口令、挑战字、加密算法等信息,Call-ID 与步骤301中的Register携带的Call-ID相同。步骤304、鉴权通过,但该用户号码已经通过其他终端建立了注册关系, 注册服务器返回消息到终端,通知终端该用户号码已经通过其他终端建立了 注册关系。注册服务器对用户身份鉴权通过,然后查询存储的用户号码已注册信息, 查询到当前已有终端B使用相同的用户号成功注册并保持连接,注册Call-ID 和地址信息与终端A本次发起的注册请求所携带的信息不同,注册服务器向 终端A返回已注册(Already Registered)消息表示已有终端注册并保持连接, 该消息中可以携带已注册的注册地址信息,本实施例中为终端B的注册地址信息。本步骤中使用的消息可以是一种SIP格式的消息,可以使用SIP协议中未被分配的消息号作为该消息的消息号,例如409消息。由于SIP协议定义的SIP消息分为消息头和消息体两部分,有些消息可以 不带消息体,本步骤中使用的消息就可以不带消息体部分,先本文给出一个 该消息消息头部分的格式实例首行SIP/2.0 409 AlreadyRegisteredFROM:其格式与用于应答的Register消息发送的FROM域相同。To:携带本次注册的用户号码,其格式也和用于应答的Register消息相同, 带注册服务器分配的标签(tag)值。Call-ID:其格式与用于应答的Register消息相同。Cseq:其才各式与用于应答的Register消息相同。Contact:携带在注册服务器上本次注册用户号码已经注册的注册地址信 息,并且携带该注册中终端与注册服务器连接的期限(expires)参数。该域内 容为可选的,当该消息携带已注册的注册地址信息时,需要^f吏用Contact域。Content-长度(Length):表示Contacti或的长度。消息格式示例如下SIP/2.0 409 AlreadyRegisteredFrom: <sip:075589834250@10.75.35.161>;tag=3326082552To:<sip:075589834250@10.75.35.161>;tag=23f709fbCSeq: 2 REGISTERCall-ID: 1463786448@10.164.8.70Via: SIP/2.0/UDP 10.164.8.70:5060;branch=z9hG4bK730331344;rport=5060 Contact: <sip:075589834250@10.170.8.100:5060;user=phone>;expires=300 Content-Length: 0其中,终端IP地址为10.164.8.70 注册服务器地址为10.75.35.161已注册并保持连4妄的终端地址,本实施例中为终端B的注册地址信息为 10.170.8.100用户号码为075589834250@10.75.35.161步骤305、终端A收到消息后,根据事先配置的规则,决定是否取代之 前的注册,或者提示用户,由用户决定是否取代之前的注册。若由终端决定是否取代,则终端在决定直接取代时,直接进入步骤306; 在决定退出时,可以通知到用户,用户该用户号码已通过其他终端建立了注 册,直接退出流程,若在步骤304中返回的信息携带有用户已注册地址信息, 在本实施例中为终端B的注册地址信息,此时终端可以提取终端B的注册地 址信息,提示用户本次登录使用的用户号码已经注册并显示终端B的地址信 息给用户,提示用户已存在其它注册,登录失败,注册流程结束。
若事先配置的策略是由用户决定是否取代之前的注册,则终端输出提示, 提示用户该用户号码已通过其他终端建立了注册,由用户决定是否使用本次 注册取代之前的注册,若决定取代,则进入步骤306;否则退出注册流程。若 在步骤304中返回的信息携带有用户已注册地址信息,在本实施例中为终端B 的注册地址信息,此时终端可以提取终端B的注册地址信息,提示用户该用 户号码前次登录的地址为终端B的注册地址。步骤306、进入步骤306,说明决定取代前次注册,终端A向注册服务器 发送消息,请求取代之前的注册。
可以实现请求取代之前的注册功能的消息有很多种,本实施例将以另一 种Register消息为例进行描述。
该Register消息,Call-ID头域携带本次注册会话标识(id), TO域携带 注册用户号码。
在该Register消息中,可以在Register消息中增加一个头域,用于携带注 销其它已注册地址信息的标志,假定该头域名称为注销其他(RejectOthers ) 头域,则该Register消息格式示例如下REGISTER sip:10.75.35.161:5060 SIP/2.0Via: SIP/2.0/UDP 10.164.8.70:5060;branch=z9hG4bK3562787246 From: <sip:075589834250@10.75.35.161〉;tag=3326082552 To:<sip:075589834250@10.75.35.161> Call-ID: 1463786448@10.164.8.70 CSeq: 3 REGISTERContact: <sip:075589834250@10.164.8.70:5060>RejectOthers: YesMax-Forwards: 5User-Agent: Softphonevl.OExpires: 300Content-Length: 0RejectOthers头域对Register消息是可选的,当取值为"Yes"时表示本消 息要求注销其它注册信息。后续步骤中,注册服务器对注册请求鉴权通过后读取到该头域标志则使 用本次注册取代其它注册信息。本步骤中也可以仍然采用标准的Register消息,在后续步骤的消息中携带 注销前次注册的信息,^清求取代之前的注册。步骤307、注册服务器返回Unauthorized消息。注册服务器返回Unauthorized消息,要求终端A发送用户号码口令用于 鉴权,消息头域携带用于口令加密的>^战字和加密算法。步骤308、终端A再次发送Register消息。终端A再次发送Register消息注册,消息头域除步骤306中携带的 Call-ID、用户号码、注册地址外,同时携带鉴权用的用户名、口令、挑战字、
加密算法等信息,Call-ID与步骤306中的Register携带的Call-ID相同。如果步骤306中终端发送的是一个标准的Register消息,则在本步骤中发 送的Register消息中携带注销前次注册的信息,请求取代之前的注册,其实现 方法可参考步骤306的描述。步骤309、鉴权通过,注册服务器以终端A的注册替代终端B的注册, 返回注册成功信息。注册服务器对用户身份鉴权通过,然后从收到的Register消息 RejectOthers头域中获取注销其它注册信息的标志,注册服务器则使用本次注 册取代其它注册信息。在本实施例中,注册服务器注销终端B的注册,并将终端A的注册地址 信息设置为注册且保持连接状态。注册服务器按照SIP协议规范向终端A返回注册成功信息。此时在注册服务器上,终端A的注册取代了终端B的注册,但是终端B 并不知道其注册已被注销,所以终端B还会继续发送保持连接的Register消 息到注册服务器,因此注册服务器需要将该注册已注销的信息通知到终端B。将已注销消息通知到终端B的方法有两种, 一种是注册服务器收到终端 B发送的保持连接的Register消息后,将已注销消息返回给终端B;另 一种是 注册服务器在注销终端B的注册后,直接发送信息到终端B,通知终端B该 注册已注销。本发明实施例提供的基于会话发起协议的用户注册的方法实施例一中, 描述了第一种方式,本发明实施例提供的基于会话发起协议的用户注册的方 法实施例二中,将以第二种方式为例进行信令流程的描述。步骤310、注册服务器发送消息至终端B,通知终端B该注册已被注销。注册服务器在注销终端B的注册后,直接发送消息至终端B,通知终端B 该注册已被注销,其使用的消息可以是讯息(Message)消息、通知(INFO) 消息等,在该消息中可以携带当前注册地址信息。该消息格式示例如下Message sip:075589834250@10.75.35.161 SIP/2.0Via: SIP/2.0/UDP 10.164.8.70:5060;branch=z9hG4bK3562787246Call-ID: 1463786448@10.164.8.70From: <sip:999@10.75.35.161>;tag=3326082552To:<sip:075589834250@10.75.35.161>CSeq: 1 MessageContact: <sip:999@10.71.103.58:5060;user=phone>Max-Forwards: 70Content-Length: 137Content-Type: text/xml<info><cmd>logout</cmd〉 <CurrentContact>sip:075589834250@10.170.8.100:5060;user=phone;expires=300</CurrentContact></info>该消息中,cmd参数取值注销(logout)表示终端被注销,当前注册地址 (CurrentContact)参数取值为当前替代该终端注册的终端地址信息,在本实 施例中为终端A的地址信息。终端B接收到消息后,获知该注册已被注销,以后不再定时向注册服务 器发送保持连接的Register消息,同时终端B可以输出显示,提示用户该注 册已注销。如果注册服务器发送的消息中,携带有当前与注册服务器保持连 接的终端A的注册地址信息,终端B可以输出显示,提示用户该用户号码在 另 一个终端上注册了 ,注册地址为终端A的注册地址,终端B上的注册已注 销。流程结束。
本实施例适用于所有使用SIP协议的系统,例如NGN、 IMS,在NGN系 统中,注册服务器体现为软交换。由以上描述可知,在用户在原注册终端上的注册未注销,又需要在其他 终端注册时,使用本发明实施例提供的基于会话发起协议的用户注册的方法,的终端,原注册已注销,原注册使用的终端就不会定时向注册服务器发送保 持连接的Register消息,原终端和新注册使用的终端也就不会陷入循环注册。进一步,本发明实施例提供的基于会话发起协议的用户注册的方法中, 还提供了几种可选方案,可以使用户获知在其他终端上已有注册,由用户决 定是否取代之前的注册,或者由终端决定是否取代之前的注册。同时,本发明实施例提供的基于会话发起协议的用户注册的方法中,可 以在消息中携带注册终端的地址,可以使终端在通知用户已在其他终端注册 时,将注册地址显示给用户。本发明实施例提供的基于会话发起协议的用户注册的系统实施例结构如 图4所示,包括第一终端401,用于发送携带用户号码的注册请求消息;在收到表明所述 用户号码已在其他终端注册的消息,且决定取代所述其他终端的注册时,发 送请求以本次注册取代所述其他终端的注册的消息;注册服务器402,用于接收所述注册请求消息,在对其鉴权通过,且发现 所述用户号码已通过其他终端建立了注册后,发送消息至所述第一终端401, 表明该用户号码已在所述其他终端注册,在收到所述第一终端401返回的请 求取代所述其他终端的注册的消息时,为所述第一终端401进行注册,注销 所述其他终端的注册,以本次注册取代所述其他终端的注册,并发送注册已 注销消息。第二终端403,用于在收到所述注册已注销消息时,停止定时发送注册请 求消息到所述注册服务器402。在本发明实施例提供的基于会话发起协议的用户注册的系统中出现的第 一终端或第二终端,其本质都只是普通终端,只是在本系统中第一终端担任
的是发出新的注册请求的终端,而第二终端担任的是前次注册使用的终端。本发明实施例提供的基于会话发起协议的用户注册的系统中出现的装 置终端和注册服务器的内部结构,可参考下文对本发明实施例提供的终端 和注册服务器的详细节介绍。本发明实施例提供的基于会话发起协议的用户注册的系统的工作方式, 与上文对本发明实施例提供的基于会话发起协议的用户注册的方法的描述基 本相似,在此不再重复描述。本发明实施例提供的终端实施例一描述的是担任发出新的注册请求的终端,其结构如图5所示,终端500包括收发单元510,用于发送携带用户号码注册请求消息至注册服务器;,接 收注册服务器返回的消息;解析单元520,用于解析所述注册服务器返回的消息,确定所述用户号码 是否已在其他终端注册;处理单元550,用于在该用户号码已在其他终端注册,且决定取代所述其 他终端的注册时,发送请求取代前次注册的消息至注册服务器,以使注册服 务器为所述发送请求终端进行注册,注销所述其他终端的注册,以本次注册 取代所述其他终端的注册,并使注册服务器发送注册已注销消息,通知到所 述其他终端注册已注销。决策单元530,用于决定是否取代所述其他终端的注册;和/或,输出单元540,用于输出提示,提示用户所述用户号码已通过其 他终端建立了注册,由用户决定是否使用本次注册取代所述其他终端的注册。决策单元530、和输出单元540通常由其中的一个决定是否取代所述其他 终端的注册,同时存在也是可以的,此时只需选择其中的一个使用即可。其中,处理单元550包括第一发送单元551,用于发送注册请求消息至注册服务器,在所述注册请 求消息中携带所述其他终端的注册地址信息,将其期限设置为零,以使所述 注册服务器注销所述其他终端的注册,在所述注册请求消息中携带所述发送请求终端的地址信息,以使所述注册服务器为所述发送请求终端进行注册;或第二发送单元552,用于发送注册请求消息至注册服务器,在所述注册请求消息中携带注销其它已注册地址信息的标志,以使所述注册服务器为所 述发送请求终端进行注册,注销所述其他终端的注册。第一发送单元551、或第二发送单元552通常由其中的一个决定是否取代 所述其他终端的注册,同时存在也是可以的,此时只需选择其中的一个使用 即可。本发明实施例提供的终端实施例二,描述的是担任的前次注册使用的终 端,其结构如图6所示,终端600包括接收单元601,用于接收通知注册已注销消息;处理单元602,在收到所述通知注册已注销消息后,使终端停止定时发送 注册请求消息到注册服务器。输出单元603,用于在收到的所述通知所述其他终端注册已注销的消息中 包含当前注册地址信息时,输出提示,提示用户所述用户号码已通过所述当 前注册地址建立了注册。本发明实施例提供的注册服务器实施例,其结构如图7所示,注册服务 器700包括接收单元701,用于接收终端发送的携带用户号码的注册请求消息;接收 所述终端返回的请求取代前次注册的消息。鉴权单元702,用于对所述注册请求进行鉴权。发送单元703,用于在对所述注册请求鉴权通过,且发现所述用户号码已 通过其他终端建立了注册后,发送消息至所述终端,表明该用户号码已在所 述其他终端注册;并在所述注销注册单元用本次注册取代所述其他终端的注 册时,发送注册已注销消息,通知到所述其他终端注册已注销。解析单元704,用于解析所述请求取代前次注册的消息,确定是否需要以 本次注册取代所述其他终端的注册。注销注册单元705,用于根据所述请求取代前次注册的消息,为所述发送
请求终端进行注册,注销所述其他终端的注册,以本次注册取代所述其他终 端的注册。本发明实施例提供的终端实施例一、二、注册服务器的实施例的工作方 式,与上文对本发明实施例提供的基于会话发起协议的用户注册的方法的描 述基本相似,在此不再重复描述。观J^貫UiU又个八贝可以埋醉头i见上还头應1列万3 是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机 可读存储介质中,该程序在执行时,上述提到的存储介质可以是只读存储器, 磁盘或光盘等。以上对本发明所提供的一种基于会话发起协议的用户注册的方法、系统 及终端、服务器进行了详细介绍,本文中应用了具体个例对本发明的原理及 实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具 体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理 解为对本发明的限制。
权利要求
1、一种基于会话发起协议的用户注册的方法,其特征在于,所述方法包括终端发送携带用户号码的注册请求到注册服务器;所述终端接收注册服务器返回的消息,在所述消息表明该用户号码已在其他终端注册,且决定取代所述其他终端的注册时,发送请求取代前次注册的消息至所述注册服务器,以使所述注册服务器为所述发送请求终端进行注册,注销所述其他终端的注册,以本次注册取代所述其他终端的注册,并使所述注册服务器发送注册已注销消息至所述其他终端注册,以使所述其他终端在收到所述通知注册已注销消息后,停止发送注册请求消息到所述注册服务器。
2、 如权利要求1所述的基于会话发起协议的用户注册的方法,其特征在 于,所述决定取代所述其他终端的注册包括所述终端决定取代所述其他终端的注册;或,所述终端输出提示,提示用户所述用户号码已通过其他终端建立了 注册,由用户决定使用本次注册取代所述其他终端的注册。
3、 如权利要求1或2所述的基于会话发起协议的用户注册的方法,其特 征在于,所述方法还包括所述终端接收注册服务器返回的消息,在所述消息表明该用户号码已在 其他终端注册,且所述终端决定退出时,所述终端输出提示,提示用户该用 户号码已通过其他终端建立了注册,退出注册。
4、 如权利要求1所述的基于会话发起协议的用户注册的方法,其特征在 于,所述终端发送消息至注册服务器,以使所述注册服务器为所述发送请求 终端进行注册,注销所述其他终端的注册包括所述终端发送注册请求消息至注册服务器,在所述注册请求消息中携带 所述其他终端的注册地址信息,将其期限设置为零,以使所述注册服务器注 销所述其他终端的注册,在所述注册请求消息中携带所述发送请求终端的地址信息,以使所述注册服务器为所述发送请求终端进行注册; 或者,所述终端发送注册请求消息至注册服务器,在所述注册请求消息 中携带注销其它已注册地址信息的标志,以使所述注册服务器为所述发送请 求终端进行注册,注销所述其他终端的注册。
5、 一种基于会话发起协议的用户注册的方法,其特征在于,所述方法包括注册服务器接收终端发送的携带用户号码的注册请求消息;所述注册服务器对所述注册请求消息进行鉴权,当鉴权通过且发现所述 用户号码已通过其他终端建立了注册后,所述注册服务器发送消息至所述终 端,表明该用户号码已在所述其他终端注册;所述注册服务器在收到所述终端返回的请求取代前次注册的消息时,为 所述发送请求终端进行注册,注销所述其他终端的注册,以本次注册取代所 述其他终端的注册,并发送信息,指示所述其他终端注册已注销。
6、 如权利要求5所述的基于会话发起协议的用户注册的方法,其特征在 于,所述方法还包括在表明该用户号码已在所述其他终端注册的消息中,携带所述其他终端 地址信息,以使所述终端输出提示,提示用户所述用户号码已通过所述其他 终端地址建立了注册。
7、 如权利要求5或6所述的基于会话发起协议的用户注册的方法,其特 征在于,所述发送信息,通知到所述其他终端注册已注销包括在接收到所述其他终端注册定时发送的注册请求消息后,发送消息,通 知所述其他终端注册已注销;或,在注销所述其他终端的注册后,发送消息,通知所述其他终端注册 已注销。
8、 如权利要求7所述的基于会话发起协议的用户注册的方法,其特征在 于,所述方法还包括在所述通知所述其他终端注册已注销的消息中,携带当前注册地址信息, 以使所述其他终端输出提示,提示用户所述用户号码已通过所述当前注册地址建立了注册。
9、 一种基于会话发起协议的用户注册的系统,其特征在于,所述系统包括第一终端,用于发送携带用户号码的注册请求消息;在收到表明所述用 户号码已在其他终端注册的消息,且决定取代所述其他终端的注册时,发送 请求取代前次注册的消息;注册服务器,用于接收所述注册请求消息,在对其鉴权通过,且发现所 述用户号码已通过其他终端建立了注册后,发送消息至所述第一终端,表明 该用户号码已在所述其他终端注册,在收到所述第一终端返回的请求取代前 次注册的消息时,为所述第一终端进行注册,注销所述其他终端的注册,以 本次注册取代所述其他终端的注册,并发送注册已注销消息。第二终端,用于在收到所述注册已注销消息时,停止发送注册请求消息 到所述注册服务器。
10、 一种终端,其特征在于,所述终端包括收发单元,用于发送携带用户号码注册请求消息至注册服务器;接收注 册服务器返回的消息;解析单元,用于解析所述注册服务器返回的消息,确定所述用户号码是 否已在其他终端注册;处理单元,用于在所述用户号码已在其他终端注册,且决定取代所述其 他终端的注册时,发送请求取代前次注册的消息至所述注册服务器,以使所 述注册服务器为所述发送请求终端进行注册,注销所述其他终端的注册,以 本次注册取代所述其他终端的注册,并使所述注册服务器发送注册已注销消 息,通知到所述其他终端注册已注销。
11、 如权利要求IO所述的终端,其特征在于,所述终端还包括决策单元,用于决定是否取代所述其他终端的注册;和/或,输出单元,用于输出提示,提示用户所述用户号码已通过其他终 端建立了注册,由用户决定是否使用本次注册取代所述其他终端的注册。
12、 如权利要求10或11所述的终端,其特征在于,所述处理单元包括第一发送单元,用于发送注册请求消息至注册服务器,在所述注册请求 消息中携带所述其他终端的注册地址信息,将其期限设置为零,以使所述注 册服务器注销所述其他终端的注册,在所述注册请求消息中携带所述发送请 求终端的地址信息,以使所述注册服务器为所述发送请求终端进行注册;或第二发送单元,用于发送注册请求消息至注册服务器,在所述注册请 求消息中携带注销其它已注册地址信息的标志,以使所述注册服务器为所述 发送请求终端进行注册,注销所述其他终端的注册。
13、 一种终端,其特征在于,所述终端包括 接收单元,用于接收通知注册已注销消息;处理单元,在收到所述通知注册已注销消息后,使终端停止发送注册请 求消息到注册服务器。
14、 如权利要求13所述的终端,其特征在于,所述终端还包括注销输出单元,用于在收到的所述通知所述注册已注销的消息中包含当 前与注册服务器建立连接的注册地址信息时,输出提示,提示用户所述用户 号码已通过所述注册地址建立了注册。
15、 一种注册服务器,其特征在于,所述注册服务器包括接收单元,用于接收终端发送的携带用户号码的注册请求消息;接收所 述终端返回的请求取代前次注册的消息;鉴权单元,用于对所述注册请求进行鉴权;注销注册单元,用于根据所述请求取代前次注册的消息,为所述发送请 求终端进行注册,注销所述其他终端的注册,以本次注册取代所述其他终端 的注册;发送单元,用于在对所述注册请求鉴权通过,且发现所述用户号码已通 过其他终端建立了注册后,发送该用户号码已在所述其他终端注册的消息至 所述终端;并在所述注销注册单元用本次注册取代所述其他终端的注册时, 发送注册已注销消息,通知到所述其他终端注册已注销。
16、如权利要求15所述的注册服务器,其特征在于,所述注册服务器还 包括解析单元,用于解析所述请求取代前次注册的消息,确定是否需要以本 次注册取代所述其他终端的注册。
全文摘要
本发明公开了一种基于SIP的用户注册的方法,包括终端发送注册请求;终端接收消息,在消息表明该用户号码已在其他终端注册,且决定取代其他终端的注册时,发送消息为发送请求终端进行注册,注销其他终端的注册,并使其他终端停止发送注册请求消息到所述注册服务器。本发明还公开了另一种基于SIP的用户注册的方法,包括接收注册请求消息;对其鉴权通过,且发现用户号码已通过其他终端建立了注册后,发送消息至终端,在收到请求取代消息时,为所述发送请求终端进行注册,注销所述其他终端的注册,并发送信息,指示其他终端注册已注销。本发明同时还公开了一种用户注册的系统,及相应的终端、注册服务器。通过应用本发明可以使用户在原注册未注销时,在其他终端上注册。
文档编号H04L29/06GK101127769SQ20071014203
公开日2008年2月20日 申请日期2007年8月20日 优先权日2007年8月20日
发明者洋 李, 樊高峰, 敏 王, 胡海华, 袁洪锦 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1