基于sip协议的网络电话进行呼叫保持的方法

文档序号:7765652阅读:385来源:国知局
专利名称:基于sip协议的网络电话进行呼叫保持的方法
技术领域
本发明属于网络电话通信技术领域,具体涉及一种基于SIP协议的网络电话进行 呼叫保持的方法。
背景技术
VoIP是Voice over Internet Protocol的缩写,指的是将模拟的声音讯号经过压 缩与封包之后,以数据封包的形式在IP网络的环境进行语音讯号的传输,通俗来说也就是 互联网电话、网络电话或者简称IP电话的意思。VoIP技术是目前互联网应用领域的一个热 门话题,成为2004年全球互联网与电子商务十大趋势之一。VoIP的基本原理是通过语音的压缩算法对语音数据编码进行压缩处理,然后把 这些语音数据按TCP/IP标准进行打包,经过IP网络把数据包送至接收地,再把这些语音 数据包串起来,经过解压处理后,恢复成原来的语音信号,从而达到由互联网传送语音的目 的。IP电话的核心与关键设备是IP网关,它把各地区电话区号映射为相应的地区网关IP 地址。这些信息存放在一个数据库中,数据接续处理软件将完成呼叫处理、数字语音打包、 路由管理等功能。在用户拨打长途电话时,网关根据电话区号数据库资料,确定相应网关的IP地 址,并将此IP地址加入IP数据包中,同时选择最佳路由,以减少传输时延,IP数据包 Internet到达目的地的网关。在一些Internet尚未延伸到或暂时未设立网关的地区,可设 置路由,由最近的网关通过长途电话网转接,实现通信业务。在voip应用中,对电信级的软交换和IP多媒体子系统(IMS)而言,终端与相关的 软交换服务器之间保持实时心跳是非常重要和必要的。会话发起协议(SIP)作为软交换系 统和IMS系统的主要信令协议之一,在下一代网络(NGN)系统中有着重要作用,但是SIP协 议本身没有明确定义网络实体之间的心跳机制。目前在SIP系统的实现中,存在着一些比 较常见的心跳机制实现方式,IETF的SIP工作组也正致力于这方面的研究和讨论。通常在 通话过程中,是通过重发ReIrwite来实现心跳的,这样做问题在于,Invite包中通常加载 SDP和媒体网络地址等信息,这些信息在发送和接收时,要消耗收发两方和服务器的资源, 降低了运行效率,使性能大大降低,同时降低了服务器的通话的并发数。本发明因此而来。

发明内容
本发明目的在于提供一种基于SIP协议的网络电话进行呼叫保持的方法,解决了 现有技术中通过重发ReIrwite来实现通话的心跳保持导致收发双方资源消耗比较大、运 行效率低、性能低下等问题。为了解决现有技术中的这些问题,本发明提供的技术方案是一种基于SIP协议的网络电话进行呼叫保持的方法,其特征在于所述方法包括被 叫方循环使用Ping方法与主叫方间建立轮询的呼叫心跳保持确认,当主叫方超过轮询间 隔时间未收到确认信息时,呼叫挂断的步骤。
优选的,所述呼叫心跳保持确认的方法包括以下步骤(1)网络电话接通后,主叫方开启定时器计时,被叫方向服务器发出ping包,同时 打开定时器计时;(2)服务器将ping包转发给主叫方,主叫方收到ping包后向服务器返回接受状态 信息,同时复位定时器重新计时;(3)服务器收到主叫方的接受状态信息后,将主叫方的接受状态信息转发给被叫 方;被叫方接受到主叫方的接受状态信息后,复位被叫方的定时器,重新计时,当被叫方的 定时器达到预定时间时继续下一循环的呼叫心跳保持确认。优选的,所述步骤(3)中预定时间小于轮询间隔时间,当被叫方的定时器达到预 定时间时,继续发送Ping包,进行下一循环的呼叫心跳保持确认。优选的,当主叫方超过轮询间隔时间未收到确认信息,呼叫挂断,主叫方和被叫方 分别关闭各自的定时器。优选的,所述方法中主叫方进行呼叫心跳保持具体按照如下步骤进行(Al)打开定时器计时,定时器时间的时间区间为呼叫心跳保持时间的1. 5倍;(A2)当定时器在计时期间收到ping包,复位定时器;同时向服务器发送200 OK回 应包;(A3)当定时器超时,向服务器发送bye包,中断呼叫。优选的,所述方法中被叫方进行呼叫心跳保持具体按照如下步骤进行(Bi)被叫方向服务器发起ping包,同时打开计时器计时,定时器时间的时间区间 为1个呼叫心跳保持时间;(B2)服务器接收到ping包转发到主叫方,服务器收到主叫方发来的200 OK响应 包后,将200 OK响应包转发到被叫方;(B3)当被叫方收到200 OK响应包时,复位定时器重新计时;(B4)当被叫方的定时器超时后,重新发起ping包,继续进行呼叫心跳保持确认;(B5)当连续两次ping包发出后都没有收到200 OK响应包,发送bye,中断呼叫。本发明可以开发相关的voip软件用于在语音通话过程中实现呼叫心跳保持。该 Viop软件在语音通话过程中,通过使用非标准的Ping方法来实现呼叫心跳保持。即通过 在接通电话后,主叫方打开定时器计时。被叫方向服务器发起Ping包,同时打开计时器计 时。再由服务器转发到主叫方,主叫方收到Ping包后向服务器返回200 0K,同时复位定时 器重新计时。服务器收到200 OK后向被叫方转发200 0K。被叫方收到200 OK后,复位定 时器。每当被叫方定时器超时时,发送Ping包,按上面的步骤反复进行,直到呼叫挂断,关 闭主叫方和被叫方的定时器。针对主叫方和被叫方,该软件可以用不同的流程来实现该呼叫心跳保持,具体流 程步骤如下在主叫方和被叫方在接通电话后,主叫方按照如下步骤进行1.打开定时器计时,定时器时间为呼叫心跳保持时间的1. 5倍;2.定时器超时,说明长时间没有收到心跳包,发送bye包,中断呼叫;3.当定时器在计时期间收到ping包,复位定时器;4.同时向服务器发送200 OK回应包。
4
在主叫方和被叫方在接通电话后,被叫方按照如下步骤进行1.被叫方向服务器发起ping包,同时打开计时器计时,定时器时间为呼叫心跳;2.服务器接收到ping包转发到主叫方;3.服务器收到主叫发来的200 OK响应包后,将他转发到被叫方;4.被叫方收到200 OK响应包,复位定时器;5.定时器超时后,重新发起ping包。回到步骤1 ;6.当连续两次ping包发出后在规定时间内没有收到200 OK说明已经不能正常通 信,发送bye,中断呼叫。本方法的基本思想是使用sip信令协议的Ping方法,扩展原来的使用范围(原 Ping方法只限两个端),使该方法能在完整的通话信道中流动。相对于现有技术中的方案,本发明的优点是本发明技术方案利用ping方法简单,易于处理的特点,是呼叫过程中既能探测到 通信异常又能提高速度,和节约服务器和终端的资源。综上所述,本发明提供了一种在sip信令中实现呼叫心跳的方法,解决了呼叫过 程中智能的检测双方通信是否畅通的问题,同时解决了传统的方法消耗计算机资源和网络 资源过多的问题。


下面结合附图及实施例对本发明作进一步描述图1为主叫方进行呼叫心跳保持的方法流程图;图2为被叫方进行呼叫心跳保持的方法流程图。
具体实施例方式以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明 本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做 进一步调整,未注明的实施条件通常为常规实验中的条件。实施例如图1和图2所示,本发明技术方案在VOIP软件中进行实现,原理在于使用sip信 令协议的Ping方法,扩展原来的使用范围(原Ping方法只限两个端),使被叫方循环使用 Ping方法与主叫方间建立轮询的呼叫心跳保持确认,当主叫方超过轮询间隔时间未收到确 认信息时,呼叫挂断。该呼叫心跳保持确认的方法包括以下步骤(1)网络电话接通后,主叫方开启定时器计时,被叫方向服务器发出ping包,同时 打开定时器计时;(2)服务器将ping包转发给主叫方,主叫方收到ping包后向服务器返回200 OK 响应包,同时复位定时器重新计时;(3)服务器收到主叫方的接受状态信息后,将主叫方的200 OK响应包转发给被叫 方;被叫方接受到主叫方的200 OK响应包后,复位被叫方的定时器,重新计时,当被叫方的 定时器达到预定时间时继续下一循环的呼叫心跳保持确认。当主叫方超过轮询间隔时间未 收到确认信息,呼叫挂断,主叫方和被叫方分别关闭各自的定时器。每当被叫方定时器超时时,发送Ping包,按上面的步骤反复进行,直到呼叫挂断,关闭主叫方和被叫方的定时器。如图1所示,为主叫方进行呼叫心跳保持的方法流程图;预设呼叫心跳保持时间 为T,收包最大延时为Tmax,主叫和被叫在接通电话后,主叫方进行1.打开定时器计时,定时器时间为呼叫心跳保持时间的1. 5倍。2.定时器超时,说明长时间没有收到心跳包,发送bye包,中断呼叫。3.当定时器在计时期间收到ping包,复位定时器。4.同时向服务器发送200 OK回应包。如图2所示,为被叫方进行呼叫心跳保持的方法流程图;被叫方进行1.被叫方向服务器发起ping包,同时打开计时器计时,定时器时间为呼叫心跳保 持时间;2.服务器接收到ping包转发到主叫方;3.服务器收到主叫发来的200 OK响应包后,将他转发到被叫方;4.被叫方收到200 OK响应包,复位定时器;5.定时器超时后,重新发起ping包,回到步骤1 ;6.当连续两次ping包发出后在规定时间内没有收到200 OK说明已经不能正常通信,发送bye,中断呼叫。该voip软件的技术方案在语音通话过程中,通过使用ping的方法来完成呼叫心 跳的方法,Viop软件在语音通话过程中,通过使用非标准的Ping方法来实现呼叫心跳保 持。该方法是通过在接通电话后,主叫方打开定时器计时。被叫方向服务器发起Ping包, 同时打开计时器计时。再由服务器转发到主叫方,主叫方收到Ping包后向服务器返回200 0K,同时复位定时器重新计时。服务器收到200 OK后向被叫方转发200 0K。被叫方收到 200 OK后,复位定时器。每当被叫方定时器超时时,发送ping包,按上面的步骤反复进行, 直到呼叫挂断,关闭主叫方和被叫方的定时器。利用该方法简单,易于处理的特点,是 呼叫过程中既能探测到通信异常又能提高速度,和节约服务器和终端的资源。上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是 能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精 神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
权利要求
一种基于SIP协议的网络电话进行呼叫保持的方法,其特征在于所述方法包括被叫方循环使用ping方法与主叫方间建立轮询的呼叫心跳保持确认,当主叫方超过轮询间隔时间未收到确认信息时,呼叫挂断的步骤。
2.根据权利要求1所述的方法,其特征在于所述呼叫心跳保持确认的方法包括以下步骤(1)网络电话接通后,主叫方开启定时器计时,被叫方向服务器发出ping包,同时打开 定时器计时;(2)服务器将ping包转发给主叫方,主叫方收到ping包后向服务器返回接受状态信 息,同时复位定时器重新计时;(3)服务器收到主叫方的接受状态信息后,将主叫方的接受状态信息转发给被叫方; 被叫方接受到主叫方的接受状态信息后,复位被叫方的定时器,重新计时,当被叫方的定时 器达到预定时间时继续下一循环的呼叫心跳保持确认。
3.根据权利要求2所述的方法,其特征在于所述步骤(3)中预定时间小于轮询间隔时 间,当被叫方的定时器达到预定时间时,继续发送Ping包,进行下一循环的呼叫心跳保持 确认。
4.根据权利要求2所述的方法,其特征在于当主叫方超过轮询间隔时间未收到确认信 息,呼叫挂断,主叫方和被叫方分别关闭各自的定时器。
5.根据权利要求2所述的方法,其特征在于所述方法中主叫方进行呼叫心跳保持具体 按照如下步骤进行(Al)打开定时器计时,定时器时间的时间区间为呼叫心跳保持时间的1. 5倍; (A2)当定时器在计时期间收到ping包,复位定时器;同时向服务器发送200 OK回应包;(A3)当定时器超时,向服务器发送bye包,中断呼叫。
6.根据权利要求2所述的方法,其特征在于所述方法中被叫方进行呼叫心跳保持具体 按照如下步骤进行(Bi)被叫方向服务器发起ping包,同时打开计时器计时,定时器时间的时间区间为1 个呼叫心跳保持时间;(B2)服务器接收到ping包转发到主叫方,服务器收到主叫方发来的200 OK响应包后, 将200 OK响应包转发到被叫方;(B3)当被叫方收到200 OK响应包时,复位定时器重新计时;(B4)当被叫方的定时器超时后,重新发起ping包,继续进行呼叫心跳保持确认;(B5)当连续两次ping包发出后都没有收到200 OK响应包,发送bye,中断呼叫。
全文摘要
本发明公开了一种基于SIP协议的网络电话进行呼叫保持的方法,其特征在于所述方法包括被叫方循环使用ping方法与主叫方间建立轮询的呼叫心跳保持确认,当主叫方超过轮询间隔时间未收到确认信息时,呼叫挂断的步骤。该方法解决了呼叫过程中智能的检测双方通信是否畅通问题,同时解决了传统的方法消耗计算机资源和网络资源过多的问题。
文档编号H04M7/00GK101998003SQ20101054985
公开日2011年3月30日 申请日期2010年11月19日 优先权日2010年11月19日
发明者刘伟, 苏海滨, 陈杰 申请人:太仓市同维电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1