触发sip终端注册的实现方法及系统、sip服务器、及sip终端的制作方法

文档序号:7967895阅读:125来源:国知局
专利名称:触发sip终端注册的实现方法及系统、sip服务器、及sip终端的制作方法
技术领域
本发明涉及通信领域,具体地讲涉及到一种触发SIP终端注册的实现方法及系统、SIP服务器、及SIP终端。
背景技术
会话初始协议(Session Initiation Protocol,SIP)是下一代网络(NextGeneration Net,NGN)中的重要协议,开发SIP协议的目的是为了解决因特网协议(Internet Protocol,IP)中的信令控制,并同软交换设备进行通信,提供跨越因特网(Internet)的高级电话业务。SIP作为互联网工程任务组(The InternetEngineering Task Force,IETF)标准进程的一部分,是在诸如简单邮件传送协议(Simple Mail Transfer Protocol,SMTP)和超文本传送协议(HyperText TransferProtocol,HTTP)基础上建立起来的。SIP协议用来建立、改变和终止基于IP网络的用户间的呼叫。
SIP网络包括有SIP终端(包括软终端和硬终端)及SIP服务器(包括软交换服务器和代理服务器)。在SIP终端向SIP服务器发起呼叫之前,SIP终端必须在对应的SIP服务器上进行注册,只有当SIP终端在对应的SIP服务器注册成功后,SIP服务器才会接受来自所述SIP终端的呼叫,否则SIP服务器会拒绝来自所述SIP终端的呼叫。SIP终端在向对应的SIP服务器发送注册请求时,注册请求中携带有所述SIP终端的标识及网络位置信息等。SIP终端在SIP服务器上注册成功后,SIP终端以及SIP服务器中都保存有注册状态信息,但是在实际网络运营时,可能会存在SIP终端和对应的SIP服务器的注册状态不一致,也即所述SIP终端认为自己已经在对应的SIP服务器上注册成功,但是SIP服务器则认为所述SIP终端处于未注册状态。导致SIP终端和SIP服务器注册状态不一致的原因有很多,例如,在SIP服务器发生异常时,丢失了所述SIP终端的注册状态信息;另外,在SIP终端通过SBC(Session Border Controller,会话边界控制器)实现双归属(Dual Homing)时,SIP终端注册到其中一个SIP服务器,而这个SIP服务器宕机发生双归属倒换,在SIP终端发起下一个注册前,SIP终端向SIP服务器发起呼叫,此时SBC将把该呼叫转给另外一个SIP服务器,而SIP终端还未在所述另外一个SIP服务器上注册,此时也会出现SIP终端和SIP服务器注册状态不一致。
如图1所示,在现有技术中,当SIP服务器收到一个呼叫请求(INVITE)时,如果SIP服务器发现发起该呼叫请求的SIP终端是属于自己服务的用户(也即SIP终端归属于SIP服务器),但是在SIP服务器上不存在对应SIP终端的注册状态信息,则SIP服务器将向SIP终端发送403 Forbidden拒绝消息,告知SIP终端其呼叫请求被拒绝,但是在所述403 Forbidden消息中未包含呼叫被拒绝的具体原因,例如,当SIP终端不属于所述SIP服务器的服务用户时(也即SIP终端未归属于所述SIP服务器),SIP服务器也同样向SIP终端返回403 Forbidden拒绝消息,因此,SIP终端无法获知其呼叫被拒绝是因为未注册还是其他原因。虽然SIP终端会周期性的向SIP服务器发送注册请求,但是在实际实现时,考虑到SIP服务器的工作负担,SIP终端的注册周期不宜设定过短,一般情况下注册周期会选择60分钟左右。在SIP终端发起下一个注册之前,用户都无法发起成功的呼叫,并且也不知道呼叫被拒绝的原因是因为未注册,从而导致用户的服务体验不佳,不利于提高客户满意度,不利于业务的推广。

发明内容
有鉴于此,本发明的主要目的在于提供一种触发SIP终端注册的实现方法及系统、SIP服务器、及SIP终端,用于实现当SIP终端向SIP服务器发起的呼叫请求是因为SIP终端未在SIP服务器上注册而被拒绝时,SIP服务器立即通知SIP终端其呼叫被拒绝的原因为未注册,从而触发SIP终端及时向SIP服务器发起注册请求。
为了达到上述发明目的,本发明提出了一种触发SIP终端注册的实现方法,其特征在于,包括步骤A、SIP终端向SIP服务器发送呼叫请求;
B、所述SIP服务器接收到所述SIP终端的呼叫请求,判断所述SIP终端是否已经在所述SIP服务器上注册,如果判断为否,向所述SIP终端发送注册指示信息;C、所述SIP终端接收到所述注册指示信息后,向所述SIP服务器发起注册请求。
其中,所述步骤B包括步骤B1、所述SIP服务器接收到SIP终端的呼叫请求,判断所述SIP终端是否归属于所述SIP服务器,如果判断为是,执行步骤B2;B2、判断所述SIP终端是否已经在所述SIP服务器注册,如果判断为否,向所述SIP终端发送注册指示信息。
其中,所述注册指示信息为携带原因Reason头域的呼叫拒绝消息;或携带警告Warning头域的呼叫拒绝消息或包含注册指示状态码的注册指示消息。
相应地,本发明提出了一种SIP服务器,包括呼叫检测单元,用于检测所接收到的呼叫请求;还包括第一判断单元和指示单元,其中第一判断单元,用于判断发起所述呼叫检测单元所检测到的呼叫请求的SIP终端是否已经在本服务器注册,如果判断为否,将判断结果发送给所述指示单元;指示单元,用于在接收到所述第一判断单元的判断结果后,向发起所述呼叫请求的SIP终端发送注册指示信息。
进一步地,所述SIP服务器还包括第二判断单元,用于判断发起所述呼叫检测单元所接收的呼叫请求的SIP终端是否归属于所述SIP服务器,如果判断结果为是,则指示所述第一判断单元继续进行判断。
相应地,本发明还提出了一种SIP终端,包括注册请求单元,用于向SIP服务器发送注册请求;还包括信息检测单元,用于检测来自于SIP服务器的消息中是否包含用来指示本SIP终端向所述SIP服务器注册的注册指示信息,如果判断为是,指示所述注册请求单元向所述SIP服务器发送注册请求。
相应地,本发明进一步提出了一种触发SIP终端注册的实现系统,包括SIP服务器,用于检测所接收到的呼叫请求,当发起所述呼叫请求的SIP终端未在本服务器注册时,向发起所述呼叫请求的SIP终端发送注册指示信息;SIP终端,用于检测来自于所述SIP服务器中的消息是否包含用来指示本SIP终端向所述SIP服务器注册的注册指示信息,如果判断为是,向所述SIP服务器发送注册请求。
其中,所述SIP服务器包括用于检测所接收到的呼叫请求的呼叫检测单元、第一判断单元和指示单元,其中第一判断单元,用于判断发起所述呼叫检测单元所检测到的呼叫请求的SIP终端是否已经在本服务器注册,如果判断为否,将判断结果发送给所述指示单元;指示单元,用于在接收到所述第一判断单元的判断结果后,向发起所述呼叫请求的SIP终端发送注册指示信息。
进一步地,所述SIP服务器还包括第二判断单元,用于判断发起所述呼叫检测单元所接收的呼叫请求的SIP终端是否归属于所述SIP服务器,如果判断结果为是,则指示所述第一判断单元继续进行判断。
其中,所述SIP终端包括
注册请求单元,用于向SIP服务器发送注册请求;信息检测单元,用于检测来自于SIP服务器的消息中是否包含用来指示本SIP终端向所述SIP服务器注册的注册指示信息,如果判断为是,指示所述注册请求单元向所述SIP服务器发送注册请求。
与现有技术相比,本发明具有如下有益效果本发明通过当SIP服务器检测到来自SIP终端的呼叫请求时,判断所述SIP终端是否已经在本服务器注册,当所述SIP终端未在本服务器注册时,向所述SIP终端发送注册指示信息,所述SIP终端在检测到所述注册指示信息后,向所述SIP服务器发送注册请求。通过采用本发明提供的方法、系统、SIP终端及SIP服务器,当SIP终端向SIP服务器发起的呼叫请求是因为SIP终端未在SIP服务器上注册而被拒绝时,SIP服务器就能够立即通知SIP终端其呼叫被拒绝的原因为未注册,从而触发SIP终端及时地向SIP服务器发起注册请求,保证SIP终端和SIP服务器的注册状态一致,从而保证了呼叫的正常接续,提高了用户服务体验和用户满意度,增加了业务推广竞争力。


图1是现有技术未注册SIP终端呼叫请求及SIP服务器响应的流程示意图;图2是本发明SIP终端注册触发实现系统的组成示意图;图3是本发明SIP服务器的组成示意图;图4是本发明SIP终端的组成示意图;图5是本发明触发SIP终端注册的实现方法的第一实施例的流程示意图;图6是本发明触发SIP终端注册的实现方法的第二实施例的流程示意图;图7是本发明触发SIP终端注册的实现方法的第三实施例的流程示意图。
具体实施例方式
本发明的核心思想是在SIP网络中,SIP服务器接受到来自SIP终端的呼叫请求时,判断发起所述呼叫请求的SIP终端是否归属于该SIP服务器以及是否已在该SIP服务器上注册,当判断结果为所述SIP终端归属于所述SIP服务器但未在所述SIP服务器上注册时,所述SIP服务器向所述SIP终端发送注册指示信息,告知所述SIP终端其呼叫被拒绝的原因是未注册,所述SIP终端在接收到所述注册指示信息后,立即向所述SIP服务器发送注册请求,从而保证所述SIP终端和所述SIP服务器的注册状态一致,保证呼叫的正常接续。
本发明中所述SIP终端在SIP服务器上注册是指SIP终端将自身的标识及网络位置等信息告知SIP服务器并获取SIP服务器的鉴权认证。
为使本发明的目的和技术方案表达得更加清楚完整,下面结合附图及实施例对本发明再做进一步详细的说明。
图2是本发明SIP终端注册触发实现系统在实施例中的组成示意图,如图所示,该实施例中SIP终端注册触发实现系统包括SIP终端1以及SIP服务器2,其中SIP服务器2,用于检测呼叫请求,并判断发起所述呼叫请求的SIP终端1是否归属于本服务器且是否已在本服务器注册,当判断结果为所述SIP终端1归属于本服务器且所述SIP终端1未在本服务器注册时,向所述SIP终端1发送注册指示信息,告知SIP终端1其呼叫被拒绝的原因是未注册;SIP终端1,用于检测来自于所述SIP服务器2中的消息是否包含用来指示本SIP终端向所述SIP服务器2注册的注册指示信息,如果判断为是,向所述SIP服务器2发送注册请求。
下面对上述系统中的SIP服务器2作详细说明。图3是本发明SIP服务器2的一个实施例结构图,如图所示,该SIP服务器2包括呼叫检测单元21、第二判断单元22、第一判断单元23以及指示单元24,其中呼叫检测单元21,用于检测所接收到的呼叫请求;第二判断单元22,用于判断发起所述呼叫检测单元21所检测到的呼叫请求的SIP终端是否归属于本服务器,如果判断为是,指示所述第一判断单元23继续进行判断;第一判断单元23,用于判断发起所述呼叫请求的SIP终端是否已经在本服务器注册,如果判断结果为否,将判断结果发送给指示单元24;指示单元24,用于在接收到第一判断单元23的判断结果后,向发起所述呼叫请求的SIP终端1发送注册指示信息。
此处,发送所述注册指示信息的目的是告知所述SIP终端1其呼叫被拒绝的原因是未在本服务器注册,所述注册指示信息在具体实施时,其具体形式可以自行规定,只要是SIP终端1能在接收到该注册指示信息后,能获知其呼叫被拒绝的原因是未注册即可。例如,在SIP协议中规定的403 FORBIDDEN消息中携带原因Reason头域,并在Reason头域中携带ITU-T Q.850的原因值,cause=20,text=″Absent Subscriber″(原因值代码为20,原因值文字描述为用于缺席即未注册),具体参考格式如下ReasonQ.850;cause=20;text=″Absent Subscriber″在具体实施时,并不局限于使用Q.850系列的原因值,也可以使用其他系列的原因值;并且在403 FORBIDDEN消息中携带的头域也可以使用其他头域,例如使用RFC3261中定义的警告Warning头域,具体参考格式如下Warning324ssl.huawei.com″Registration Required″又比如,我们也可以新定义一个在SIP协议中未被定义的注册指示状态码来表示注册指示信息,只要在SIP服务器2和SIP终端1两侧协商约定该新增加的状态码的含义为未注册即可。例如,在具体实施时,定义424 Unregistration这个状态码来表示所述SIP终端1未在所述SIP服务器2上注册,其中状态码的选择只要符合在SIP协议中未被定义即可,如还可以选择425、426等,其中Unregistration为可读的英文注释,其含义为未注册。
同时,下面也对上述系统中的SIP终端1作详细说明。图4是本发明SIP终端1的一个实施例结构图,如图所示,该SIP终端1包括信息检测单元11和注册请求单元12,其中注册请求单元12,用于向SIP服务器2发送注册请求;信息检测单元11,用于检测来自SIP服务器2的消息中是否包括用来指示本SIP终端向所述SIP服务器注册的注册指示信息,如果判断为是,指示注册请求单元12向所述SIP服务器发送注册请求。
此处,如果SIP服务器2是在403 FORBIDDEN消息中携带Reason头域,并在Reason头域中携带ITU-T Q.850的原因值来表示SIP终端1呼叫被拒绝的原因是未在SIP服务器2上注册,则信息检测单元11就要对Reason头域所携带的原因值进行检测分析,并据此判断呼叫被拒绝的原因是否是SIP终端1未在SIP服务器2上注册。当403 FORBIDDEN消息中携带的是Warning头域或使用扩展的状态码如424 Unregistration来表示呼叫被拒绝的原因是未注册时,信息检测单元11的检测原理是和当在403 FORBIDDEN消息中携带Reason头域时类似的,故在此不在详细描述。
另外,本发明还提供了一种触发SIP终端注册的实现方法,下面通过实施例对其进行具体描述。图5是本发明触发SIP终端注册的实现方法的第一实施例流程图,包括以下步骤步骤s501,SIP终端向SIP服务器发送呼叫请求。
步骤s502,SIP服务器检测到有来自SIP终端的呼叫请求时,判断所述发起呼叫请求的SIP终端是否归属于所述SIP服务器且是否已经在所述SIP服务器注册,当判断结果为所述发起请求的SIP终端归属于所述SIP服务器且未在所述SIP服务器注册时,执行步骤s503。
此处,当所述发起请求的SIP终端未归属于所述SIP服务器时,所述SIP服务器则直接拒绝所述SIP终端的呼叫请求;当所述SIP终端未在所述SIP服务器上注册时,由于所述SIP服务器上没有对应所述SIP终端的标识及网络位置等信息,所述SIP服务器无法受理所述呼叫请求,接续所述呼叫。
步骤s503,SIP服务器向SIP终端发送注册指示信息。
此处,所述注册指示信息的目的是告知SIP终端其呼叫被拒绝的原因是未在所述SIP服务器上注册,所述注册指示信息在具体实施时,其具体形式可以自行规定,只要是SIP终端能在接收到该注册指示信息后,能获知其呼叫被拒绝的原因是未注册即可。
步骤s504,SIP终端向SIP服务器发送注册请求。
此处,在所述注册请求中携带了SIP终端的标识及网络位置等信息,其具体实现过程属于现有技术,在此不再详细描述。
在上述第一实施例的基础上,下面结合图6,对本发明触发SIP终端注册的实现方法的第二实施例做具体说明。该实施例的具体流程包括步骤s601,SIP终端向SIP服务器发送INVITE呼叫请求。
步骤s602,SIP服务器检测到有来自SIP终端的呼叫请求时,判断所述发起呼叫请求的SIP终端是否归属于所述SIP服务器且是否已经在所述SIP服务器注册,当判断结果为所述发起请求的SIP终端归属于所述SIP服务器且未在所述SIP服务器注册时,执行步骤s603。
步骤s603,SIP服务器发送携带注册指示信息的403 FORBIDDEN扩展消息,告知SIP终端其呼叫被拒绝的原因是未注册。
此处,所述403 FORBIDDEN扩展消息是指携带扩展头域的403FORBIDDEN消息,在具体实施时,如可以在403 FORBIDDEN携带原因Reason头域,并在Reason头域中携带ITU-T Q.850的原因值,cause=20,text=″AbsentSubscriber″(原因值代码为20,原因值文字描述为用于缺席即未注册),具体参考格式如下ReasonQ.850;cause=20;text=″Absent Subscriber″在具体实施时,并不局限于使用Q.850系列的原因值,也可以使用其他系列的原因值;并且在403 FORBIDDEN消息中携带的头域也可以使用其他头域,例如使用RFC3261中定义的警告Warning头域,具体参考格式如下Warning324ssl.huawei.com″Registration Required″步骤s604,SIP终端向SIP服务器发送ACK确认响应消息。
步骤s605,SIP终端向SIP服务器发送REGISTER注册请求。
此处,在所述注册请求中携带了SIP终端的标识及网络位置等信息,其具体实现过程属于现有技术,在此不再详细描述。
步骤s606,SIP服务器向SIP终端发送200 OK确认响应消息。
另外,下面结合图7,对本发明的第三实施例做具体说明。该实施例的具体流程包括步骤s701,SIP终端向SIP服务器发送INVITE呼叫请求。
步骤s702,SIP服务器检测到有来自SIP终端的呼叫请求时,判断所述发起呼叫请求的SIP终端是否归属于所述SIP服务器且是否已经在所述SIP服务器注册,当判断结果为所述发起请求的SIP终端归属于所述SIP服务器且未在所述SIP服务器上注册时,执行步骤s703。
步骤s703,SIP服务器发送携带注册指示信息的424 Unregistration(含义为未注册)扩展消息,告知SIP终端其呼叫被拒绝的原因是未注册。
此处,424 Unregistration是在SIP协议中未被定义的状态码,具体实施时,状态码的选择只要是符合在SIP协议中未定义即可,如425、426等等,其中Unregistration为可读的英文注释,其含义为未注册。
步骤s704,SIP终端向SIP服务器发送ACK确认响应消息。
步骤s705,SIP终端向SIP服务器发送REGISTER注册请求。
此处,在所述注册请求中携带了SIP终端的标识及网络位置等信息,其具体实现过程属于现有技术,在此不再详细描述。
步骤s706,SIP服务器向SIP终端发送200 OK确认响应消息。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种触发SIP终端注册的实现方法,其特征在于,包括步骤A、SIP终端向SIP服务器发送呼叫请求;B、所述SIP服务器接收到所述SIP终端的呼叫请求,判断所述SIP终端是否已经在所述SIP服务器上注册,如果判断为否,向所述SIP终端发送注册指示信息;C、所述SIP终端接收到所述注册指示信息后,向所述SIP服务器发起注册请求。
2.如权利要求1所述的方法,其特征在于,所述步骤B包括步骤B1、所述SIP服务器接收到SIP终端的呼叫请求,判断所述SIP终端是否归属于所述SIP服务器,如果判断为是,执行步骤B2;B2、判断所述SIP终端是否已经在所述SIP服务器注册,如果判断为否,向所述SIP终端发送注册指示信息。
3.如权利要求1或2所述的方法,其特征在于,所述注册指示信息为携带原因Reason头域的呼叫拒绝消息;或携带警告Warning头域的呼叫拒绝消息或包含注册指示状态码的注册指示消息。
4.一种SIP服务器,包括呼叫检测单元,用于检测所接收到的呼叫请求;其特征在于,还包括第一判断单元和指示单元,其中第一判断单元,用于判断发起所述呼叫检测单元所检测到的呼叫请求的SIP终端是否已经在本服务器注册,如果判断为否,将判断结果发送给所述指示单元;指示单元,用于在接收到所述第一判断单元的判断结果后,向发起所述呼叫请求的SIP终端发送注册指示信息。
5.如权利要求4所述的SIP服务器,其特征在于,所述SIP服务器还包括第二判断单元,用于判断发起所述呼叫检测单元所接收的呼叫请求的SIP终端是否归属于所述SIP服务器,如果判断结果为是,则指示所述第一判断单元继续进行判断。
6.一种SIP终端,包括注册请求单元,用于向SIP服务器发送注册请求;其特征在于,还包括信息检测单元,用于检测来自于SIP服务器的消息中是否包含用来指示本SIP终端向所述SIP服务器注册的注册指示信息,如果判断为是,指示所述注册请求单元向所述SIP服务器发送注册请求。
7.一种触发SIP终端注册的实现系统,其特征在于,包括SIP服务器,用于检测所接收到的呼叫请求,当发起所述呼叫请求的SIP终端未在本服务器注册时,向发起所述呼叫请求的SIP终端发送注册指示信息;SIP终端,用于检测来自于所述SIP服务器中的消息是否包含用来指示本SIP终端向所述SIP服务器注册的注册指示信息,如果判断为是,向所述SIP服务器发送注册请求。
8.如权利要求7所述的SIP终端注册触发实现系统,其特征在于,所述SIP服务器包括用于检测所接收到的呼叫请求的呼叫检测单元、第一判断单元和指示单元,其中第一判断单元,用于判断发起所述呼叫检测单元所检测到的呼叫请求的SIP终端是否已经在本服务器注册,如果判断为否,将判断结果发送给所述指示单元;指示单元,用于在接收到所述第一判断单元的判断结果后,向发起所述呼叫请求的SIP终端发送注册指示信息。
9.如权利要求8所述的SIP终端注册触发实现系统,其特征在于,所述SIP服务器还包括第二判断单元,用于判断发起所述呼叫检测单元所接收的呼叫请求的SIP终端是否归属于所述SIP服务器,如果判断结果为是,则指示所述第一判断单元继续进行判断。
10.如权利要求7至9任一所述的SIP终端注册触发实现系统,其特征在于,所述SIP终端包括注册请求单元,用于向SIP服务器发送注册请求;信息检测单元,用于检测来自于SIP服务器的消息中是否包含用来指示本SIP终端向所述SIP服务器注册的注册指示信息,如果判断为是,指示所述注册请求单元向所述SIP服务器发送注册请求。
全文摘要
本发明公开了一种触发SIP终端注册的实现方法,包括当SIP服务器接收到来自SIP终端的呼叫请求时,判断所述SIP终端是否已经在所述SIP服务器上注册,如果判断为否,向所述SIP终端发送注册请求信息;所述SIP终端接收到所述注册指示信息后,向所述SIP服务器发起注册请求。本发明同时还公开了相应的触发SIP终端注册的实现系统、SIP服务器、以及SIP终端,通过本发明提供的方法、系统、SIP终端及SIP服务器,使得当SIP终端向SIP服务器发起的呼叫请求因为SIP终端未注册而被拒绝时,SIP服务器立即通知SIP终端其呼叫被拒绝的原因为未注册,从而触发SIP终端及时向SIP服务器发起注册请求。
文档编号H04L1/16GK1972510SQ20061012298
公开日2007年5月30日 申请日期2006年10月24日 优先权日2006年10月24日
发明者杨天宇, 王鹏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1