CN104363149B - 基于sip协议实现voip网络状态监测的系统及方法 - Google Patents
基于sip协议实现voip网络状态监测的系统及方法 Download PDFInfo
- Publication number
- CN104363149B CN104363149B CN201410742542.6A CN201410742542A CN104363149B CN 104363149 B CN104363149 B CN 104363149B CN 201410742542 A CN201410742542 A CN 201410742542A CN 104363149 B CN104363149 B CN 104363149B
- Authority
- CN
- China
- Prior art keywords
- network state
- network
- processing module
- session initiation
- initiation protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明涉及一种基于SIP协议实现VOIP网络状态监测的系统及方法,其中包括SIP协议栈模块、呼叫控制模块、网络状态处理模块和应用层模块。采用该种结构的基于SIP协议实现VOIP网络状态监测的系统及方法,可以在不影响协议栈的情况下对协议栈发出的正常消息请求包通过网络状态管理模块进行SIP消息包的组装,形成包含网络状态的消息请求包,并发出携带该网络状态的SIP信令包,对于接收到的带有网络状态的SIP响应消息后,可以正确的进行解析提取出网络状态,并且进行消息包的重新组装,恢复协议栈可以正常识别的包,向下传递,可以通过抓包直接定位网络状态,避免通过其它方式去查找定位网络情况,具有更广泛的应用范围。
Description
技术领域
本发明涉及网络监测技术领域,尤其涉及网络电话的网络监测技术领域,具体是指一种基于SIP协议实现VOIP网络状态监测的系统及方法。
背景技术
随着光网络的飞速发展和数字传输技术的应用,原来在数据通信网中被视为应用“瓶颈”的带宽和服务质量等问题一一得到解决,推动了IP技术的飞速发展,带动各种应用向IP靠拢,VOIP(Voice over Internet Protocol)电话/VOIP网络电话(又称IP PHONE或VoIP)业务就是其中一个典型的应用。
SIP(Session Initiation Protocol,即初始会话协议),SIP是IETF制定的多媒体通信协议,它是一个基于文本的应用层控制协议,独立于底层协议,用于建立、修改和终止IP网上的双方或多方的多媒体会话。SIP是一个客户/服务器协议。协议消息分为两类:请求和响应;SIP易于扩展和伸缩-具有灵活的可扩展性和极强的能力协商机制,新方法、新消息头及功能的增加,对协议没有影响。
目前现网测试当中遇到的很多问题,都是由于网络状态影响的,基于SIP协议的VOIP系统获取的网络状态并不是直接显示在SIP信令包中,而是我们根据其它进程或者模块发过来的网络状态(WAN连接的connected状态)消息去获取并且显示最终SIP的注册效果,并不能真正的反馈网络的状态。这就造成了现网对接测试中,不能正确获取网络状态,终端从而产生了各种难以理解的现象。例如:现网对接测试当中,网络是可以ping通,但是VOIP的注册状态就是显示网络不可达。由于现网的对接测试当中包里完全看不出任何网络原因,所以只能通过telnet方式去抓取相应的log,根据抓取的log进行分析,这样就导致解决问题的效率比较低。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现的基于SIP协议实现VOIP网络状态监测的系统及方法。
为了实现上述目的,本发明的基于SIP协议实现VOIP网络状态监测的系统及方法具有如下构成:
该基于SIP协议实现VOIP网络状态监测的系统,其主要特点是,所述的系统包括:
SIP协议栈模块,用以生成请求消息和接收响应信息包;
呼叫控制模块,用以将所述的SIP协议栈模块生成的请求消息发送至网络状态处理模块并根据所述的网络状态处理模块返回的响应信息包进行语音注册状态调整;
网络状态处理模块,用以对所述的呼叫控制模块发送的请求消息进行处理和对应用层模块返回的响应信息包进行还原;
应用层模块,用以将处理后的请求消息发送至特定网络服务器并接收所述的特定网络服务器返回的包含网络状态信息的响应信息包。
较佳地,所述的网络状态处理模块用以对所述的呼叫控制模块发送的请求消息添加网络状态头域和对应用层模块返回的响应消息包去除头域。
本发明还涉及一种根据所述的系统基于SIP协议实现VOIP网络状态监测的方法,其主要特点是,所述的方法包括以下步骤:
(1)所述的呼叫控制模块将所述的SIP协议栈模块发送的请求消息发送至所述的网络状态处理模块;
(2)所述的网络状态处理模块对所述的请求消息进行处理后发送至所述的呼叫控制模块;
(3)所述的应用层模块将所述的呼叫控制模块转发的处理后的请求消息发送至特定网络服务器;
(4)所述的特定网络服务器自动获取当前网络状态信息并将其包含在响应信息包中;
(5)所述的网络状态处理模块提取所述的应用层模块转发的响应信息包中的网络状态信息;
(6)所述的网络状态处理模块对所述的响应信息包进行还原后发送至所述的呼叫控制模块;
(7)所述的呼叫处理模块根据网络状态信息处理语音注册状态并将该还原后的响应信息包发送至所述的SIP协议栈模块。
较佳地,所述的网络状态处理模块对所述的请求消息进行处理后,具体为:
所述的网络状态处理模块对所述的呼叫控制模块发送的请求消息添加网络状态头域。
较佳地,所述的网络状态处理模块对所述的响应信息包进行还原,具体为:
所述的网络状态处理模块对所述的响应信息包进行去除网络状态头域处理。
更佳地,所述的步骤(5)和(6)之间,还包括以下步骤:
(5-1)所述的应用层模块将所述的响应信息包中的网络状态信息保存至系统新网络状态中。
更进一步地,所述的呼叫处理模块根据网络状态信息处理语音注册状态,包括以下步骤:
(7-1)所述的呼叫处理模块接收到还原后的响应信息包后判断系统旧网络状态与系统新网络状态是否一致,如果是,则继续步骤(7-2),否则继续步骤(7-3);
(7-2)所述的呼叫处理模块根据新网络状态修改语音注册状态;
(7-3)所述的呼叫处理模块不进行语音注册状态调整。
采用了该发明中的基于SIP协议实现VOIP网络状态监测的系统及方法,具有如下有益效果:
该发明的系统和方法可以在不影响协议栈的情况下对协议栈发出的正常SIP消息请求包通过网络状态管理模块进行SIP消息包的组装,形成包含网络状态的SIP消息请求包,并发出携带该网络状态的SIP信令包,对于接收到的带有网络状态的SIP响应消息后,可以正确的进行解析提取出网络状态,并且通过网络状态管理模块进行消息包的重新组装即去除带有网络状态的头域,恢复协议栈可以正常识别的包,向下传递,可以通过抓包直接定位网络状态,避免通过其它方式去查找定位网络情况,具有更广泛的应用范围。
附图说明
图1为本发明的基于SIP协议实现VOIP网络状态监测的系统的结构示意图。
图2为本发明的携带网络状态信息的SIP协议信令包格式。
图3为本发明的基于SIP协议实现VOIP网络状态监测的方法的信令交互图。
图4为本发明的基于SIP协议实现VOIP网络状态监测的方法的流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
如图1所示,该基于SIP协议实现VOIP网络状态监测的系统包括:
SIP协议栈模块,用以生成请求消息和接收响应信息包;
呼叫控制模块,用以将所述的SIP协议栈模块生成的请求消息发送至网络状态处理模块并根据所述的网络状态处理模块返回的响应信息包进行语音注册状态调整;
网络状态处理模块,用以对所述的呼叫控制模块发送的请求消息进行处理和对应用层模块返回的响应信息包进行还原;
应用层模块,用以将处理后的请求消息发送至特定网络服务器并接收所述的特定网络服务器返回的包含网络状态信息的响应信息包。
在一种较佳的实施方式中,所述的网络状态处理模块用以对所述的呼叫控制模块发送的请求消息添加网络状态头域和对应用层模块返回的响应消息包去除头域。
如图4所示,本发明还涉及一种根据所述的系统基于SIP协议实现VOIP网络状态监测的方法,包括以下步骤:
(1)所述的呼叫控制模块将所述的SIP协议栈模块发送的请求消息发送至所述的网络状态处理模块;
(2)所述的网络状态处理模块对所述的请求消息进行处理后发送至所述的呼叫控制模块;
(3)所述的应用层模块将所述的呼叫控制模块转发的处理后的请求消息发送至特定网络服务器;
(4)所述的特定网络服务器自动获取当前网络状态信息并将其包含在响应信息包中;
(5)所述的网络状态处理模块提取所述的应用层模块转发的响应信息包中的网络状态信息;
(6)所述的网络状态处理模块对所述的响应信息包进行还原后发送至所述的呼叫控制模块;
(7)所述的呼叫处理模块根据网络状态信息处理语音注册状态并将该还原后的响应信息包发送至所述的SIP协议栈模块。
在一种较佳的实施方式中,所述的网络状态处理模块对所述的请求消息进行处理后,具体为:
所述的网络状态处理模块对所述的呼叫控制模块发送的请求消息添加网络状态头域。
在一种较佳的实施方式中,所述的网络状态处理模块对所述的响应信息包进行还原,具体为:
所述的网络状态处理模块对所述的响应信息包进行去除网络状态头域处理。
在一种更佳的实施方式中,所述的步骤(5)和(6)之间,还包括以下步骤:
(5-1)所述的应用层模块将所述的响应信息包中的网络状态信息保存至系统新网络状态中。
在一种更进一步的实施方式中,所述的呼叫处理模块根据网络状态信息处理语音注册状态,包括以下步骤:
(7-1)所述的呼叫处理模块接收到还原后的响应信息包后判断系统旧网络状态与系统新网络状态是否一致,如果是,则继续步骤(7-2),否则继续步骤(7-3);
(7-2)所述的呼叫处理模块根据新网络状态修改语音注册状态;
(7-3)所述的呼叫处理模块不进行语音注册状态调整。
下面以一具体实施例来进一步介绍本发明的系统及方法。
本发明涉及SIP协议、VOIP网络电话、特定网络服务器即能够识别网络状态头(NWSTATE)具有DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)和DNS(Domain Name System,域名系统)解析的软交换服务器功能等技术,其就是一种能够监测到网络状态的VOIP系统及方法。
本发明就是为了克服现有VOIP技术当中不能正确有效地反馈网络状态至VOIP系统中从而导致在对接测试过程当中引起很多问题而提供的一种可以直接在SIP信令包中反馈网络状态的方法,直接有效的定位和排除网络问题。
为了实现上述目的,本发明一种基于SIP协议监测VOIP网络状态的系统及方法具体实现包括以下步骤:
VOIP系统包括SIP协议栈模块,呼叫控制模块、底层驱动模块、SIP业务模块、应用层模块和网络状态处理模块。
(1)家庭网关上电启动完成后,配置了注册服务器、代理服务器、外部代理服务器、电话号码、用户名、密码。
(2)VOIP系统协议栈组装正常的SIP请求消息包,并发送该消息给呼叫控制模块,呼叫控制模块将该消息发送给网络状态处理模块,网络状态处理模块添加网络状态头域(Nwstate),组装NWSTATE包成功,并将其发送给呼叫控制模块,呼叫控制模块将该消息传递到应用层,应用层把该消息发至特定网络服务器。
即(2-1)在SIP协议栈当中添加扩展的请求消息(NWSTATE),该消息包含的头域有TO,FROM,Cseq,Call-ID,Max-Forwards,Via、Nwstate。如图2所示。
NWSTATE SIP消息是一个SIP请求消息,60s发一次。
(2-2)VOIP系统的SIP协议栈发送NWSTATE SIP请求消息至呼叫控制模块,呼叫控制模块发送该消息至网络状态处理模块。
(2-3)VOIP系统的网络状态处理模块对该消息进行处理后发送该消息至应用层模块。
(2-4)VOIP系统通过发送NWSTATE SIP请求消息至特定网络服务器检测网络状态。
(3)VOIP系统发起的NWSTATE请求包至特定网络服务器,特定网络服务器可以正常的处理收到的请求包。
(4)特定网络服务器收到该请求包后会自动的获取当前网络状态并将其包含在200OK响应消息包中。如图3所示。
即特定网络服务器即可以正确获取网络状态并具有DNS解析、DHCP、ping、SIP软交换功能,并且可以处理收到的NWSTATE SIP包,并且回复的200 OK响应包中携带TO,FROM,Cseq,Call-ID,Max-Forwards,Via、Nwstate。
(5)VOIP系统收到该响应消息后,应用层模块调用网络状态处理模块提取SIP消息中的网络状态,并将其保存至全局变量new_NwState中,即用来控制网络状态变化。其需要跟呼叫控制模块定义的old_NwState进行比较。该模块还有一个关键的地方就是,会将SIP消息进行还原,即去除200OK响应消息中的Nwstate头域,并将去除NWstate头的消息发送给呼叫控制模块。
(6)呼叫控制模块处理来自于网络状态处理模块的SIP消息,直接将该消息进行向下传递,协议栈收到该消息后不做任何处理,呼叫处理模块收到该消息时,会将new_NwState和old_NwState进行比较,如果状态有改变,会修改语音注册状态。如果状态没有改变,不会做任何处理。这样就可以通过抓包直接定位网络状态,避免通过其它方式去查找定位网络情况。
采用了该发明中的基于SIP协议实现VOIP网络状态监测的系统及方法,具有如下有益效果:
该发明的系统和方法可以在不影响协议栈的情况下对协议栈发出的正常SIP消息请求包通过网络状态管理模块进行SIP消息包的组装,形成包含网络状态的SIP消息请求包,并发出携带该网络状态的SIP信令包,对于接收到的带有网络状态的SIP响应消息后,可以正确的进行解析提取出网络状态,并且通过网络状态管理模块进行消息包的重新组装即去除带有网络状态的头域,恢复协议栈可以正常识别的包,向下传递,可以通过抓包直接定位网络状态,避免通过其它方式去查找定位网络情况,具有更广泛的应用范围。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (7)
1.一种基于SIP协议实现VOIP网络状态监测的系统,其特征在于,所述的系统包括:
SIP协议栈模块,用以生成请求消息和接收响应信息包;
呼叫控制模块,用以将所述的SIP协议栈模块生成的请求消息发送至网络状态处理模块并根据所述的网络状态处理模块返回的响应信息包进行语音注册状态调整;
网络状态处理模块,用以通过添加网络状态头域Nwstate对所述的呼叫控制模块发送的请求消息进行处理,并通过去除网络状态头域Nwstate对应用层模块返回的响应信息包进行还原;
应用层模块,用以将处理后的请求消息发送至特定网络服务器并接收所述的特定网络服务器返回的包含网络状态信息的响应信息包。
2.根据权利要求1所述的基于SIP协议实现VOIP网络状态监测的系统,其特征在于,所述的网络状态处理模块用以对所述的呼叫控制模块发送的请求消息添加网络状态头域和对应用层模块返回的响应消息包去除头域。
3.一种根据权利要求1或2所述的系统基于SIP协议实现VOIP网络状态监测的方法,其特征在于,所述的方法包括以下步骤:
(1)所述的呼叫控制模块将所述的SIP协议栈模块发送的请求消息发送至所述的网络状态处理模块;
(2)所述的网络状态处理模块通过添加网络状态头域Nwstate对所述的请求消息进行处理后发送至所述的呼叫控制模块;
(3)所述的应用层模块将所述的呼叫控制模块转发的处理后的请求消息发送至特定网络服务器;
(4)所述的特定网络服务器自动获取当前网络状态信息并将其包含在响应信息包中;
(5)所述的网络状态处理模块提取所述的应用层模块转发的响应信息包中的网络状态信息;
(6)所述的网络状态处理模块通过去除网络状态头域Nwstate对所述的响应信息包进行还原后发送至所述的呼叫控制模块;
(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)所述的呼叫处理模块不进行语音注册状态调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410742542.6A CN104363149B (zh) | 2014-12-08 | 2014-12-08 | 基于sip协议实现voip网络状态监测的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410742542.6A CN104363149B (zh) | 2014-12-08 | 2014-12-08 | 基于sip协议实现voip网络状态监测的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104363149A CN104363149A (zh) | 2015-02-18 |
CN104363149B true CN104363149B (zh) | 2017-12-29 |
Family
ID=52530376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410742542.6A Active CN104363149B (zh) | 2014-12-08 | 2014-12-08 | 基于sip协议实现voip网络状态监测的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104363149B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702602B (zh) * | 2015-03-04 | 2018-01-02 | 南京邮电大学 | 基于sip实现集群网关动态创建通道和扩容的系统和方法 |
CN106714199B (zh) * | 2015-11-13 | 2020-05-19 | 中兴通讯股份有限公司 | 获取承载网的网络状态信息的方法及装置 |
CN107835327B (zh) * | 2017-10-30 | 2020-01-07 | 北京佳讯飞鸿电气股份有限公司 | 信令网关的协议栈队列的维护方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098242A (zh) * | 2007-05-28 | 2008-01-02 | 华为技术有限公司 | 一种网络连接信息的获取方法以及网络边界实体 |
EP2179549A1 (en) * | 2007-08-09 | 2010-04-28 | Markport Limited | Network resource management |
CN103155508A (zh) * | 2010-09-30 | 2013-06-12 | 瑞典爱立信有限公司 | 在基于ip的通信网络中检查目的地网络状态的方法和网络实体 |
-
2014
- 2014-12-08 CN CN201410742542.6A patent/CN104363149B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098242A (zh) * | 2007-05-28 | 2008-01-02 | 华为技术有限公司 | 一种网络连接信息的获取方法以及网络边界实体 |
EP2179549A1 (en) * | 2007-08-09 | 2010-04-28 | Markport Limited | Network resource management |
CN103155508A (zh) * | 2010-09-30 | 2013-06-12 | 瑞典爱立信有限公司 | 在基于ip的通信网络中检查目的地网络状态的方法和网络实体 |
Also Published As
Publication number | Publication date |
---|---|
CN104363149A (zh) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100728280B1 (ko) | Sip를 이용한 통신 시스템에서 호 해제 요청/응답메시지를 이용한 네트워크 상태 관리 방법 | |
EP2805476B1 (en) | Ice based nat traversal | |
EP3292675A2 (en) | Establishing media paths in real time communications | |
EP3145129A1 (en) | Method and gateway for communication between browser and telecommunication network | |
US9736316B2 (en) | Network address translation traversal system and method for real-time communications | |
JP4695457B2 (ja) | 関係者識別データの収集及び分配システム及び方法 | |
US20160308930A1 (en) | Method and System to Add Video Capability to any Voice over Internet Protocol (Vo/IP) Session Initiation Protocol (SIP) Phone | |
KR101705440B1 (ko) | 미디어 통신용 하이브리드 클라우드 미디어 아키텍쳐 | |
EP2056556A1 (en) | An intercommunication method and a communication system between different networks | |
EP2472984A1 (en) | Method for realizing end-to-end call, end-to-end call terminal and system | |
JP3698698B2 (ja) | Dmzを介したイントラネットおよび外部ネットワーク上の呼の確立 | |
US11228623B2 (en) | Method for transmitting media streams between RTC clients | |
CN100574474C (zh) | 一种通讯系统中建立通讯业务连接的方法 | |
CN104363149B (zh) | 基于sip协议实现voip网络状态监测的系统及方法 | |
CN107786509A (zh) | 会话消息处理方法和相关装置 | |
CN100466641C (zh) | 基于sip支持多itsp的系统及实现方法 | |
JP2011515980A (ja) | 通信システムにおけるピアツーピアマルチメディア接続の状態を問い合わせるシステムおよび方法 | |
JP2006345231A (ja) | Sip−alg方法 | |
Manjur et al. | Conference gateway for heterogeneous clients: Real time switching clients and interasterisk exchange clients | |
CN102546644B (zh) | 实现sip呼叫的方法、设备和系统 | |
WO2015131466A1 (zh) | 基于会话初始协议sip的数据业务处理方法及装置 | |
JP2004254010A (ja) | Sip通信制御装置 | |
US11102268B2 (en) | RTP monitoring device and RTP monitoring method | |
EP2059001B1 (en) | Multitype SIP processing element | |
CN107547483B (zh) | 精准传真协商的方法及接入网关 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |