专利名称:一种检测sip终端重启的方法
技术领域:
本发明涉及网络通信技术领域,尤其涉及一种检测sip终端重启的方法。
背景技术:
在现有的使用sip协议通信中,sip终端定时( 一般默认是60秒)的向sip代理 服务器进行注册,sip终端第一次注册时会自己产生一个call-id ( —般是一个随机数加时 间等信息,保证不会重复的一个字符串),当注册成功后,后面会定时的向sip代理服务器 发送注册请求,注册请求中的call-id会一直不变,sip代理服务器根据sip终端定时发送 注册请求来判断sip终端是否存活,当sip终端在2次注册请求的时间间隔中间重新启动 后,继续注册,一般来说sip代理服务器还是会继续认为sip终端存活,但是不知道sip终 端已经重新启动过。
发明内容
本发明的目的是鉴于上述现有技术所存在的问题提供一种检测sip终端重启的
方法,其特征在于,1)当sip终端第一次注册时,sip代理服务器保存这个sip终端注册时
所提供的call-id ;2)每次收到这个sip终端的注册后,对call-id进行比较,根据sip协议
规定,确定call-id是唯一的;3) sip代理服务器通过检查sip终端注册信息中的call-id,
并且在一个有效循环内是不变的,如果发生变化就确定sip终端重新启动。 所述一个有效循环是指sip终在端注册成功后,后续的注册和呼叫都使用同一个
call-id。 本发明的有益效果这种方法可以有效的解决Sip代理服务器呼叫资源不释放的 问题。
图1为检测sip终端重启的流程图。
具体实施步骤 本发明提供一种检测Sip终端重启的方法,该方法的步骤是1)当Sip终端第一 次注册时,sip代理服务器保存这个sip终端注册时所提供的call-id ;2)每次收到这个 sip终端的注册后,对call-id进行比较,根据sip协议规定,确定call-id是唯一的;3) sip 代理服务器通过检查sip终端注册信息中的call-id,并且在一个有效循环内是不变的,如 果发生变化就确定sip终端重新启动。sip终端在注册成功后,一般每60秒向SIP代理服 务器进行注册(每次的callid都是一样的),sip代理服务器根据sip终端是否来注册判 断sip终端是否在线。根据注册的间隔时间,sip代理服务器至少要60秒后才知道sip终 端不在线,如果在这个期间,sip终端掉电重新启动(60秒完成启动)后注册,如果sip代 理服务器不检查callid,认为sip终端还是正常的注册,所有的业务也正常。在这个期间, 如果sip终端和sip代理服务器有通话存在,sip代理服务器还会认为sip终端正常,继续通话(实际sip终端已经重新启动,sip代理服务器应该释放呼叫的资源),呼叫资源继续 占用,不释放。 具体步骤如图1所示。sip代理服务器收到sip终端的注册后,根据sip终端的 用户名称在注册用户中查找,如果找到,则比较callid是否相等?相等,返回第一步重新 启动;如果根据sip终端的用户名称在注册用户中,未找到,则保存callid,回应0K,注册成 功,返回第一步重新启动;在比较callid是否相等?步骤时,如果不相等,释放原来callid 占用的资源,保存新的callid,回应OK,返回第一步重新启动。
权利要求
一种检测sip终端重启的方法,其特征在于,该方法包括1)当sip终端第一次注册时,sip代理服务器保存这个sip终端注册时所提供的call-id;2)每次收到这个sip终端的注册后,对call-id进行比较,根据sip协议规定,确定call-id是唯一的;3)sip代理服务器通过检查sip终端注册信息中的call-id,并且在一个有效循环内是不变的,如果发生变化就确定sip终端重新启动。
2. 根据权利要求1所述一种检测sip终端重启的方法,其特征在于,所述一个有效循环 是指sip终在端注册成功后,后续的注册和呼叫都使用同一个call-id。
全文摘要
本发明公开了属于网络通信技术领域的一种检测sip终端重启的方法。该方法包括1)当sip终端第一次注册时,sip代理服务器保存这个sip终端注册时所提供的call-id;2)每次收到这个sip终端的注册后,对call-id进行比较,根据sip协议规定,确定call-id是唯一的;3)sip代理服务器通过检查sip终端注册信息中的call-id,并且在一个有效循环内是不变的,如果发生变化就确定sip终端重新启动。这种方法可以有效的解决sip代理服务器呼叫资源不释放的问题。
文档编号H04L29/06GK101765217SQ20091024190
公开日2010年6月30日 申请日期2009年12月15日 优先权日2009年12月15日
发明者何平 申请人:北京佳讯飞鸿电气股份有限公司