基于sip协议实现voip网络状态监测的系统及方法

文档序号:7822169阅读:359来源:国知局
基于sip协议实现voip网络状态监测的系统及方法
【专利摘要】本发明涉及一种基于SIP协议实现VOIP网络状态监测的系统及方法,其中包括SIP协议栈模块、呼叫控制模块、网络状态处理模块和应用层模块。采用该种结构的基于SIP协议实现VOIP网络状态监测的系统及方法,可以在不影响协议栈的情况下对协议栈发出的正常消息请求包通过网络状态管理模块进行SIP消息包的组装,形成包含网络状态的消息请求包,并发出携带该网络状态的SIP信令包,对于接收到的带有网络状态的SIP响应消息后,可以正确的进行解析提取出网络状态,并且进行消息包的重新组装,恢复协议栈可以正常识别的包,向下传递,可以通过抓包直接定位网络状态,避免通过其它方式去查找定位网络情况,具有更广泛的应用范围。
【专利说明】基于SIP协议实现VOIP网络状态监测的系统及方法

【技术领域】
[0001]本发明涉及网络监测【技术领域】,尤其涉及网络电话的网络监测【技术领域】,具体是指一种基于SIP协议实现VOIP网络状态监测的系统及方法。

【背景技术】
[0002]随着光网络的飞速发展和数字传输技术的应用,原来在数据通信网中被视为应用“瓶颈”的带宽和服务质量等问题一一得到解决,推动了 IP技术的飞速发展,带动各种应用向 IP 靠拢,VOIP (Voice over Internet Protocol)电话 /VOIP 网络电话(又称 IP PHONE或VoIP)业务就是其中一个典型的应用。
[0003]SIP (Sess1n Initiat1n Protocol,即初始会话协议),SIP 是 IETF 制定的多媒体通信协议,它是一个基于文本的应用层控制协议,独立于底层协议,用于建立、修改和终止IP网上的双方或多方的多媒体会话。SIP是一个客户/服务器协议。协议消息分为两类:请求和响应;SIP易于扩展和伸缩一具有灵活的可扩展性和极强的能力协商机制,新方法、新消息头及功能的增加,对协议没有影响。
[0004]目前现网测试当中遇到的很多问题,都是由于网络状态影响的,基于SIP协议的VOIP系统获取的网络状态并不是直接显示在SIP信令包中,而是我们根据其它进程或者模块发过来的网络状态(WAN连接的connected状态)消息去获取并且显示最终SIP的注册效果,并不能真正的反馈网络的状态。这就造成了现网对接测试中,不能正确获取网络状态,终端从而产生了各种难以理解的现象。例如:现网对接测试当中,网络是可以Ping通,但是VOIP的注册状态就是显示网络不可达。由于现网的对接测试当中包里完全看不出任何网络原因,所以只能通过telnet方式去抓取相应的log,根据抓取的log进行分析,这样就导致解决问题的效率比较低。


【发明内容】

[0005]本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现的基于SIP协议实现VOIP网络状态监测的系统及方法。
[0006]为了实现上述目的,本发明的基于SIP协议实现VOIP网络状态监测的系统及方法具有如下构成:
[0007]该基于SIP协议实现VOIP网络状态监测的系统,其主要特点是,所述的系统包括:
[0008]SIP协议栈模块,用以生成请求消息和接收响应信息包;
[0009]呼叫控制模块,用以将所述的SIP协议栈模块生成的请求消息发送至网络状态处理模块并根据所述的网络状态处理模块返回的响应信息包进行语音注册状态调整;
[0010]网络状态处理模块,用以对所述的呼叫控制模块发送的请求消息进行处理和对应用层模块返回的响应信息包进行还原;
[0011]应用层模块,用以将处理后的请求消息发送至特定网络服务器并接收所述的特定网络服务器返回的包含网络状态信息的响应信息包。
[0012]较佳地,所述的网络状态处理模块用以对所述的呼叫控制模块发送的请求消息添加网络状态头域和对应用层模块返回的响应消息包去除头域。
[0013]本发明还涉及一种根据所述的系统基于SIP协议实现VOIP网络状态监测的方法,其主要特点是,所述的方法包括以下步骤:
[0014](I)所述的呼叫控制模块将所述的SIP协议栈模块发送的请求消息发送至所述的网络状态处理模块;
[0015](2)所述的网络状态处理模块对所述的请求消息进行处理后发送至所述的呼叫控制丰旲块;
[0016](3)所述的应用层模块将所述的呼叫控制模块转发的处理后的请求消息发送至特定网络服务器;
[0017](4)所述的特定网络服务器自动获取当前网络状态信息并将其包含在响应信息包中;
[0018](5)所述的网络状态处理模块提取所述的应用层模块转发的响应信息包中的网络状态信息;
[0019](6)所述的网络状态处理模块对所述的响应信息包进行还原后发送至所述的呼叫控制|吴块;
[0020](7)所述的呼叫处理模块根据网络状态信息处理语音注册状态并将该还原后的响应信息包发送至所述的SIP协议栈模块。
[0021]较佳地,所述的网络状态处理模块对所述的请求消息进行处理后,具体为:
[0022]所述的网络状态处理模块对所述的呼叫控制模块发送的请求消息添加网络状态头域。
[0023]较佳地,所述的网络状态处理模块对所述的响应信息包进行还原,具体为:
[0024]所述的网络状态处理模块对所述的响应信息包进行去除网络状态头域处理。
[0025]更佳地,所述的步骤(5)和(6)之间,还包括以下步骤:
[0026](5-1)所述的应用层模块将所述的响应信息包中的网络状态信息保存至系统新网络状态中。
[0027]更进一步地,所述的呼叫处理模块根据网络状态信息处理语音注册状态,包括以下步骤:
[0028](7-1)所述的呼叫处理模块接收到还原后的响应信息包后判断系统旧网络状态与系统新网络状态是否一致,如果是,则继续步骤(7-2),否则继续步骤(7-3);
[0029](7-2)所述的呼叫处理模块根据新网络状态修改语音注册状态;
[0030](7-3)所述的呼叫处理模块不进行语音注册状态调整。
[0031]采用了该发明中的基于SIP协议实现VOIP网络状态监测的系统及方法,具有如下有益效果:
[0032]该发明的系统和方法可以在不影响协议栈的情况下对协议栈发出的正常SIP消息请求包通过网络状态管理模块进行SIP消息包的组装,形成包含网络状态的SIP消息请求包,并发出携带该网络状态的SIP信令包,对于接收到的带有网络状态的SIP响应消息后,可以正确的进行解析提取出网络状态,并且通过网络状态管理模块进行消息包的重新组装即去除带有网络状态的头域,恢复协议栈可以正常识别的包,向下传递,可以通过抓包直接定位网络状态,避免通过其它方式去查找定位网络情况,具有更广泛的应用范围。

【专利附图】

【附图说明】
[0033]图1为本发明的基于SIP协议实现VOIP网络状态监测的系统的结构示意图。
[0034]图2为本发明的携带网络状态信息的SIP协议信令包格式。
[0035]图3为本发明的基于SIP协议实现VOIP网络状态监测的方法的信令交互图。
[0036]图4为本发明的基于SIP协议实现VOIP网络状态监测的方法的流程图。

【具体实施方式】
[0037]为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
[0038]如图1所示,该基于SIP协议实现VOIP网络状态监测的系统包括:
[0039]SIP协议栈模块,用以生成请求消息和接收响应信息包;
[0040]呼叫控制模块,用以将所述的SIP协议栈模块生成的请求消息发送至网络状态处理模块并根据所述的网络状态处理模块返回的响应信息包进行语音注册状态调整;
[0041]网络状态处理模块,用以对所述的呼叫控制模块发送的请求消息进行处理和对应用层模块返回的响应信息包进行还原;
[0042]应用层模块,用以将处理后的请求消息发送至特定网络服务器并接收所述的特定网络服务器返回的包含网络状态信息的响应信息包。
[0043]在一种较佳的实施方式中,所述的网络状态处理模块用以对所述的呼叫控制模块发送的请求消息添加网络状态头域和对应用层模块返回的响应消息包去除头域。
[0044]如图4所示,本发明还涉及一种根据所述的系统基于SIP协议实现VOIP网络状态监测的方法,包括以下步骤:
[0045](I)所述的呼叫控制模块将所述的SIP协议栈模块发送的请求消息发送至所述的网络状态处理模块;
[0046](2)所述的网络状态处理模块对所述的请求消息进行处理后发送至所述的呼叫控制丰旲块;
[0047](3)所述的应用层模块将所述的呼叫控制模块转发的处理后的请求消息发送至特定网络服务器;
[0048](4)所述的特定网络服务器自动获取当前网络状态信息并将其包含在响应信息包中;
[0049](5)所述的网络状态处理模块提取所述的应用层模块转发的响应信息包中的网络状态信息;
[0050](6)所述的网络状态处理模块对所述的响应信息包进行还原后发送至所述的呼叫控制|吴块;
[0051](7)所述的呼叫处理模块根据网络状态信息处理语音注册状态并将该还原后的响应信息包发送至所述的SIP协议栈模块。
[0052]在一种较佳的实施方式中,所述的网络状态处理模块对所述的请求消息进行处理后,具体为:
[0053]所述的网络状态处理模块对所述的呼叫控制模块发送的请求消息添加网络状态头域。
[0054]在一种较佳的实施方式中,所述的网络状态处理模块对所述的响应信息包进行还原,具体为:
[0055]所述的网络状态处理模块对所述的响应信息包进行去除网络状态头域处理。
[0056]在一种更佳的实施方式中,所述的步骤(5)和(6)之间,还包括以下步骤:
[0057](5-1)所述的应用层模块将所述的响应信息包中的网络状态信息保存至系统新网络状态中。
[0058]在一种更进一步的实施方式中,所述的呼叫处理模块根据网络状态信息处理语音注册状态,包括以下步骤:
[0059](7-1)所述的呼叫处理模块接收到还原后的响应信息包后判断系统旧网络状态与系统新网络状态是否一致,如果是,则继续步骤(7-2),否则继续步骤(7-3);
[0060](7-2)所述的呼叫处理模块根据新网络状态修改语音注册状态;
[0061](7-3)所述的呼叫处理模块不进行语音注册状态调整。
[0062]下面以一具体实施例来进一步介绍本发明的系统及方法。
[0063]本发明涉及SIP协议、VOIP网络电话、特定网络服务器即能够识别网络状态头(NWSTATE)具有 DHCP (Dynamic Host Configurat1n Protocol,动态主机配置协议)和DNS (Domain Name System,域名系统)解析的软交换服务器功能等技术,其就是一种能够监测到网络状态的VOIP系统及方法。
[0064]本发明就是为了克服现有VOIP技术当中不能正确有效地反馈网络状态至VOIP系统中从而导致在对接测试过程当中引起很多问题而提供的一种可以直接在SIP信令包中反馈网络状态的方法,直接有效的定位和排除网络问题。
[0065]为了实现上述目的,本发明一种基于SIP协议监测VOIP网络状态的系统及方法具体实现包括以下步骤:
[0066]VOIP系统包括SIP协议栈模块,呼叫控制模块、底层驱动模块、SIP业务模块、应用层模块和网络状态处理模块。
[0067](I)家庭网关上电启动完成后,配置了注册服务器、代理服务器、外部代理服务器、电话号码、用户名、密码。
[0068](2) VOIP系统协议栈组装正常的SIP请求消息包,并发送该消息给呼叫控制模块,呼叫控制模块将该消息发送给网络状态处理模块,网络状态处理模块添加网络状态头域(Nwstate),组装NWSTATE包成功,并将其发送给呼叫控制模块,呼叫控制模块将该消息传递到应用层,应用层把该消息发至特定网络服务器。
[0069]即(2-1)在SIP协议栈当中添加扩展的请求消息(NWSTATE),该消息包含的头域有TO, FROM, Cseq, Call-1D, Max-Forwards, Via> Nwstate0 如图 2 所不。
[0070]NWSTATE SIP消息是一个SIP请求消息,60s发一次。
[0071](2-2) VOIP系统的SIP协议栈发送NWSTATE SIP请求消息至呼叫控制模块,呼叫控制模块发送该消息至网络状态处理模块。
[0072](2-3) VOIP系统的网络状态处理模块对该消息进行处理后发送该消息至应用层模块。
[0073](2-4) VOIP系统通过发送NWSTATE SIP请求消息至特定网络服务器检测网络状态。
[0074](3)VOIP系统发起的NWSTATE请求包至特定网络服务器,特定网络服务器可以正常的处理收到的请求包。
[0075](4)特定网络服务器收到该请求包后会自动的获取当前网络状态并将其包含在2000K响应消息包中。如图3所示。
[0076]即特定网络服务器即可以正确获取网络状态并具有DNS解析、DHCP, ping、SIP软交换功能,并且可以处理收到的NWSTATE SIP包,并且回复的200 OK响应包中携带TO, FROMj Cseqj Call-1Dj Max-Forwards, Via、Nwstate0
[0077](5) VOIP系统收到该响应消息后,应用层模块调用网络状态处理模块提取SIP消息中的网络状态,并将其保存至全局变量new_NWState中,即用来控制网络状态变化。其需要跟呼叫控制模块定义的OlcLNwState进行比较。该模块还有一个关键的地方就是,会将SIP消息进行还原,即去除2000K响应消息中的Nwstate头域,并将去除NWstate头的消息发送给呼叫控制模块。
[0078](6)呼叫控制模块处理来自于网络状态处理模块的SIP消息,直接将该消息进行向下传递,协议栈收到该消息后不做任何处理,呼叫处理模块收到该消息时,会将new_NwState和0ld_NwState进行比较,如果状态有改变,会修改语音注册状态。如果状态没有改变,不会做任何处理。这样就可以通过抓包直接定位网络状态,避免通过其它方式去查找定位网络情况。
[0079]采用了该发明中的基于SIP协议实现VOIP网络状态监测的系统及方法,具有如下有益效果:
[0080]该发明的系统和方法可以在不影响协议栈的情况下对协议栈发出的正常SIP消息请求包通过网络状态管理模块进行SIP消息包的组装,形成包含网络状态的SIP消息请求包,并发出携带该网络状态的SIP信令包,对于接收到的带有网络状态的SIP响应消息后,可以正确的进行解析提取出网络状态,并且通过网络状态管理模块进行消息包的重新组装即去除带有网络状态的头域,恢复协议栈可以正常识别的包,向下传递,可以通过抓包直接定位网络状态,避免通过其它方式去查找定位网络情况,具有更广泛的应用范围。
[0081]在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
【权利要求】
1.一种基于SIP协议实现VOIP网络状态监测的系统,其特征在于,所述的系统包括: SIP协议栈模块,用以生成请求消息和接收响应信息包; 呼叫控制模块,用以将所述的SIP协议栈模块生成的请求消息发送至网络状态处理模块并根据所述的网络状态处理模块返回的响应信息包进行语音注册状态调整; 网络状态处理模块,用以对所述的呼叫控制模块发送的请求消息进行处理和对应用层模块返回的响应信息包进行还原; 应用层模块,用以将处理后的请求消息发送至特定网络服务器并接收所述的特定网络服务器返回的包含网络状态信息的响应信息包。
2.根据权利要求1所述的基于SIP协议实现VOIP网络状态监测的系统,其特征在于,所述的网络状态处理模块用以对所述的呼叫控制模块发送的请求消息添加网络状态头域和对应用层模块返回的响应消息包去除头域。
3.一种根据权利要求1或2所述的系统基于SIP协议实现VOIP网络状态监测的方法,其特征在于,所述的方法包括以下步骤: (1)所述的呼叫控制模块将所述的SIP协议栈模块发送的请求消息发送至所述的网络状态处理模块; (2)所述的网络状态处理模块对所述的请求消息进行处理后发送至所述的呼叫控制模块; (3)所述的应用层模块将所述的呼叫控制模块转发的处理后的请求消息发送至特定网络服务器; (4)所述的特定网络服务器自动获取当前网络状态信息并将其包含在响应信息包中; (5)所述的网络状态处理模块提取所述的应用层模块转发的响应信息包中的网络状态信息; (6)所述的网络状态处理模块对所述的响应信息包进行还原后发送至所述的呼叫控制模块; (7)所述的呼叫处理模块根据网络状态信息处理语音注册状态并将该还原后的响应信息包发送至所述的SIP协议栈模块。
4.根据权利要求3所述的基于SIP协议实现VOIP网络状态监测的方法,其特征在于,所述的网络状态处理模块对所述的请求消息进行处理后,具体为: 所述的网络状态处理模块对所述的呼叫控制模块发送的请求消息添加网络状态头域。
5.根据权利要求3所述的基于SIP协议实现VOIP网络状态监测的方法,其特征在于,所述的网络状态处理模块对所述的响应信息包进行还原,具体为: 所述的网络状态处理模块对所述的响应信息包进行去除网络状态头域处理。
6.根据权利要求5所述的基于SIP协议实现VOIP网络状态监测的方法,其特征在于,所述的步骤(5)和(6)之间,还包括以下步骤: (5-1)所述的应用层模块将所述的响应信息包中的网络状态信息保存至系统新网络状态中。
7.根据权利要求6所述的基于SIP协议实现VOIP网络状态监测的方法,其特征在于,所述的呼叫处理模块根据网络状态信息处理语音注册状态,包括以下步骤: (7-1)所述的呼叫处理模块接收到还原后的响应信息包后判断系统旧网络状态与系统新网络状态是否一致,如果是,则继续步骤(7-2),否则继续步骤(7-3); (7-2)所述的呼叫处理模块根据新网络状态修改语音注册状态; (7-3)所述的呼叫处理模块不进行语音注册状态调整。
【文档编号】H04L12/26GK104363149SQ201410742542
【公开日】2015年2月18日 申请日期:2014年12月8日 优先权日:2014年12月8日
【发明者】刘莎, 赵培超, 裴渊飞 申请人:上海市共进通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1