调整RTP媒体流传输的方法、装置、电子设备和存储介质与流程

文档序号:15281426发布日期:2018-08-28 23:35阅读:176来源:国知局

本发明涉及计算机技术领域,尤其涉及一种调整rtp媒体流传输的方法、装置、电子设备和存储介质。



背景技术:

在当前的sip通信解决方案中,rtp媒体流(rtp,实时传输协议,real-timetransportprotocol,是在internet上处理多媒体数据流的一种网络协议,利用它能够在一对一(unicast,单播)或者一对多(multicast,多播)的网络环境中实现媒体流数据的实时传输,利用rtp协议传输的媒体流称为“rtp媒体流”)的传输存在两种方式,一种是在sip客户端与sip客户端之间直接进行通信,另一种是从sip客户端通过sip服务器和另一个sip客户端通信。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:第一种方式适用于客户端之间网络互通的情况,能够降低sip服务器的压力,但在复杂的网络环境下会存在客户端直接无法通信的现象;而第二种方式中,虽然能适用于客户端之间网络不通的环境,但增大了sip服务器的传输压力。



技术实现要素:

有鉴于此,本发明实施例提供一种调整rtp媒体流传输的方法、装置、电子设备和存储介质,能够根据sip客户端之间的网络连通情况,自动调整rtp媒体流的通信方式。

为实现上述目的,根据本发明的一个方面,提供了一种调整rtp媒体流传输的方法。

本发明实施例的一种调整rtp媒体流传输的方法包括:检测第一sip客户端与第二sip客户端之间的网络连通情况;根据所述网络连通情况,调整rtp媒体流的传输方式,其中:若所述网络连通情况为正常,则所述rtp媒体流在所述第一sip客户端与所述第二sip客户端之间直接传输;若所述网络连通为异常,则所述rtp媒体流在所述第一sip客户端与所述第二sip客户端之间通过sip服务器进行传输。

可选地,检测第一sip客户端与第二sip客户端之间的网络连通情况包括:从所述sip服务器获取检测指令,所述检测指令中包含所述第二sip客户端的ip地址;根据所述检测指令从所述第一sip客户端向所述第二sip客户端的ip地址执行网络检测命令,若所述网络检测命令值不大于网络连通阈值,则所述网络连通情况为正常;若所述网络检测命令值大于所述网络连通阈值,则所述网络连通情况为异常。

可选地,所述网络检测命令为ping命令,所述网络检测命令值为丢包率,所述网络连通阈值为预设的丢包率阈值。

为实现上述目的,根据本发明的另一方面,提供了一种调整rtp媒体流传输的装置。

本发明的一种基于sip协议动态调整rtp媒体流传输的装置包括:网络检测模块,用于检测第一sip客户端与第二sip客户端之间的网络连通情况;调整模块,用于根据所述网络连通情况,调整rtp媒体流的传输方式,其中:若所述网络连通情况为正常,则所述rtp媒体流在所述第一sip客户端与所述第二sip客户端之间直接传输;若所述网络连通为异常,则所述rtp媒体流在所述第一sip客户端与所述第二sip客户端之间通过sip服务器进行传输。

可选地,所述网络检测模块还用于:从所述sip服务器获取检测指令,所述检测指令中包含所述第二sip客户端的ip地址;根据所述检测指令从所述第一sip客户端向所述第二sip客户端的ip地址执行网络检测命令,若所述网络检测命令值不大于网络连通阈值,则所述网络连通情况为正常;若所述网络检测命令值大于所述网络连通阈值,则所述网络连通情况为异常。

可选地,所述网络检测命令为ping命令,所述网络检测命令值为丢包率,所述网络连通阈值为预设的丢包率阈值。

为实现上述目的,根据本发明的再一方面,提供了一种电子设备。

本发明的一种电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明所提供的调整rtp媒体流传输的方法。

为实现上述目的,根据本发明的再一方面,提供了一种非暂态计算机可读存储介质。

本发明的一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明所提供的调整rtp媒体流传输的方法。

根据本发明的技术方案,上述发明中的一个实施例具有如下优点或有益效果:通过根据sip客户端之间的网络情况,自动调整rtp媒体流的通信方式,从而能够兼顾复杂网络之间的通信,并且能够降低sip服务器的压力,解决了以前单一的通信方式造成的rtp流传输不灵活的问题;通过在sip客户端之间发生网络检测命令的方式,从而能够实现自动判断sip客户端之间的网络连通性,从而方便实现sip客户端之间的网络状况检测。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是现有技术中rtp媒体流的传输方法示意图;

图2是根据本发明实施例的调整rtp媒体流传输的方法的主要步骤的示意图;

图3是根据本发明实施例的调整rtp媒体流传输的方法的主要流程的示意图;

图4是根据本发明实施例的调整rtp媒体流传输的方法的检测网络连通情况的主要流程的示意图;

图5是根据本发明实施例的调整rtp媒体流传输的装置的主要部分的示意图;

图6是根据本发明实施例的信息验证的方法的电子设备的硬件结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

针对rtp媒体流的传输方式,在现有技术的sip通信解决方案中,主要包括sip客户端之间直接传输和通过sip服务器传输两种不同形式。图1是现有技术中rtp媒体流的传输方法示意图。

如图1所示,现有技术中rtp媒体流的传输主要涉及几方主体:

1.sip服务器:负责建立网络中所有的sip客户端通话,发送sip消息,判断sip客户端之间能否直接通信;

2.sip客户端:负责与其他sip客户端进行通话,接收sip服务器的指令,判断与其他的sip客户端网络是否通畅;

3.路由器:划分不同的网段,隔离不同地域的网络。

其中,sip客户端之间直接通信主要包括如下流程:sip客户端注册到sip服务器上,sip客户端在呼叫另一个sip客户端时,sip客户端先向sip服务器发起呼叫请求,sip服务器向被呼叫的sip客户端发起请求,当被叫sip客户端接听后,两个sip客户端的sip指令经过服务器传输,rtp媒体流则直接通信。但这种rtp媒体流在sip客户端之间直接通信的方式无法适用于sip客户端之间网络不通的情况。

而sip客户端之间通过sip服务器传输rtp媒体流进行通信主要包括如下流程:sip客户端注册到sip服务器上,sip客户端在呼叫另一个sip客户端时,sip客户端先向sip服务器发起呼叫请求,sip服务器向被呼叫的sip客户端发起请求,当被叫sip客户端接听后,两个sip客户端的sip指令经过服务器传输,rtp媒体流也经过sip服务器进行传输。这种通信方式虽然能够克服sip客户端之间网络不通的情况,但由于sip服务器要处理sip客户端之间的rtp媒体流,其数据处理压力会大大增加。

图2是根据本发明实施例的调整rtp媒体流传输的方法的主要步骤的示意图。

如图2所示,本发明实施例的调整rtp媒体流传输的方法主要包括如下步骤:

步骤s21:检测第一sip客户端与第二sip客户端之间的网络连通情况。本步骤的目的在于在rtp媒体流传输的过程中,确定sip客户端之间的网络连通状况,以确定最终传输方式。

在步骤s21完成检测之后,从步骤s22进行自动调整。

步骤s22:根据网络连通情况,调整rtp媒体流的传输方式,其中:若网络连通情况为正常,则rtp媒体流在第一sip客户端与第二sip客户端之间直接传输;若网络连通为异常,则rtp媒体流在第一sip客户端与第二sip客户端之间通过sip服务器进行传输。

其中,本发明实施例中,检测第一sip客户端与第二sip客户端之间的网络连通情况还可以包括:从sip服务器获取检测指令,检测指令中包含所述第二sip客户端的ip地址;根据检测指令从第一sip客户端向第二sip客户端的ip地址执行网络检测命令,若网络检测命令值不大于网络连通阈值,则网络连通情况为正常;若网络检测命令值大于网络连通阈值,则网络连通情况为异常。

本发明实施例中,检测sip客户端之间网络连通情况可以是利用ping命令(ping命令是检测设备之间连通性的方法,它是种内建于linux、unix、及微软windows中的故障排除功能命令,通过icmp协议传送数据包到特定ip地址,并接收响应,以此来判断网络的阻塞情况),对应的网络检测命令值为丢包率,网络连通阈值为预设的丢包率阈值。此外,除了ping命令进行检测之外,还可以是tracert命令等,只要是能够根据ip地址进行客户端之间网络连通情况的检测都可以。

图3是根据本发明实施例的调整rtp媒体流传输的方法的主要流程的示意图。如图3所示,rtp媒体流传输方式的调整是在sip客户端之间进行会话通信的过程中进行的。以下结合图2、图3对本发明实施例的自动调整rtp媒体流传输的方法的主要流程进行详细介绍。

具体如下:

1.sip服务器向第一sip客户端(即主叫客户端第一sip客户端)发送invite邀请指令。

2.第一sip客户端收到指令后返回dialing拨号消息。

3.sip服务器向第二sip客户端(即被叫客户端)发送invite邀请指令。

4.第二sip客户端收到指令后返回ringing响铃消息。

5.sip服务器判断第一sip客户端和第二sip客户端的网络是否连通,如果连通,则第一sip客户端和第二sip客户端的rtp媒体流直接进行通信,sip服务器只处理第一sip客户端和第二sip客户端之间的sip消息。如果不连通,则第一sip客户端和第二sip客户端的rtp媒体流经过sip服务器进行通信,sip服务器既处理sip消息也处理rtp媒体流。其中,sip服务器具体如何判断第一sip客户端与第二sip客户端的网络是否连通将在下文详细介绍。

6.当通话需要结束时,第一sip客户端或第二sip客户端向服务器发送结束指令,sip服务器向另一方发送hungup挂断指令,第一sip客户端和第二sip客户端通话结束。

如上所述,在sip客户端需要进行通信时,通过检测sip客户端之间的网络连接情况,以决定rtp媒体流在sip客户端之间的传输方式,即根据网络连接情况自动调整rtp媒体流的传输是否需要使用sip服务器作为媒介。

图4是根据本发明实施例的调整rtp媒体流传输的方法的检测网络连通情况的主要流程的示意图。以下以ping命令作为网络检测命令为例,结合图4对sip客户端之间的网络连接情况的检测进行详细说明。

1.sip服务器向第一sip客户端发送sip检测指令,里面包含要监测的第二sip客户端的ip地址。

2.第一sip客户端接收到指令后,向第二sip客户端发送网络检测命令,(此处,网络检测命令,是指知道对方ip地址,向对方发送的检测命令,如前所述,例如可以但不限于是ping指令),如果第一sip客户端接收到命令返回时,则认为第一sip客户端和第二sip客户端的网络是连通的,可以直接通信,如果在指定时间内没有收到命令的返回,则认为第一sip客户端和第二sip客户端不通,将判断结果发送给sip服务器。

3.sip服务器根据返回的命令结果来判断两个sip客户端之间是否连通。

根据本发明实施例的调整rtp媒体流传输的方法可以看出,通过根据sip客户端之间的网络情况,自动调整rtp媒体流的通信方式,从而能够兼顾复杂网络之间的通信,并且能够降低sip服务器的压力,解决了以前单一的通信方式造成的rtp流传输不灵活的问题;通过在sip客户端之间发生网络检测命令的方式,从而能够实现自动判断sip客户端之间的网络连通性,从而方便实现sip客户端之间的网络状况检测。

图5是根据本发明实施例的调整rtp媒体流传输的装置的主要部分的示意图。

如图5所示,本发明实施例的一种基于sip协议动态调整rtp媒体流传输的装置50主要包括网络检测模块501、调整模块502,其中:网络检测模块501用于检测第一sip客户端与第二sip客户端之间的网络连通情况;调整模块502用于根据网络连通情况,调整rtp媒体流的传输方式,其中:若网络连通情况为正常,则rtp媒体流在第一sip客户端与第二sip客户端之间直接传输;若网络连通为异常,则rtp媒体流在第一sip客户端与第二sip客户端之间通过sip服务器进行传输。

另外,更进一步地,本发明实施例中网络检测模块还可用于:从sip服务器获取检测指令,检测指令中包含所述第二sip客户端的ip地址;根据检测指令从第一sip客户端向第二sip客户端的ip地址执行网络检测命令,若网络检测命令值不大于网络连通阈值,则网络连通情况为正常;若网络检测命令值大于所述网络连通阈值,则网络连通情况为异常。

在上述检测sip客户端之间网络连通情况的过程中,网络检测命令可以但不限于是ping命令,相应地网络检测命令值为丢包率,网络连通阈值为预设的丢包率阈值。

从以上描述可以看出,通过根据sip客户端之间的网络情况,自动调整rtp媒体流的通信方式,从而能够兼顾复杂网络之间的通信,并且能够降低sip服务器的压力,解决了以前单一的通信方式造成的rtp流传输不灵活的问题;通过在sip客户端之间发生网络检测命令的方式,从而能够实现自动判断sip客户端之间的网络连通性,从而方便实现sip客户端之间的网络状况检测。

根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。

本发明的电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明所提供的分配集合单的方法。

本发明的非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明所提供的分配集合单的方法。

如图6所示,是根据本发明实施例的信息验证的方法的电子设备的硬件结构示意图。如图6,该电子设备60包括:一个或多个处理器61以及存储器62,图6中以一个处理器61为例。其中,存储器62即为本发明所提供的非暂态计算机可读存储介质。

信息验证的方法的电子设备还可以包括:输入装置63和输出装置64。

处理器61、存储器62、输入装置63和输出装置64可以通过总线或者其他方式连接,图6中以通过总线连接为例。

存储器62作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的信息验证的方法对应的程序指令/模块(例如,附图5所示的网络检测模块501、调整模块502)。处理器61通过运行存储在存储器62中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的信息验证的方法。

存储器62可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据信息验证的装置的使用所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器62可选包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至信息验证的装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置63可接收输入的数字或字符信息,以及产生与信息验证的装置的用户设置以及功能控制有关的键信号输入。输出装置64可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器62中,当被所述一个或者多个处理器61执行时,执行上述任意方法实施例中的信息验证的方法。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。

根据本发明实施例的技术方案,通过根据sip客户端之间的网络情况,自动调整rtp媒体流的通信方式,从而能够兼顾复杂网络之间的通信,并且能够降低sip服务器的压力,解决了以前单一的通信方式造成的rtp流传输不灵活的问题;通过在sip客户端之间发生网络检测命令的方式,从而能够实现自动判断sip客户端之间的网络连通性,从而方便实现sip客户端之间的网络状况检测。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1