[发明专利]一种融合通信系统中RTP媒体流的代理方法有效
申请号: | 201210006675.8 | 申请日: | 2012-01-10 |
公开(公告)号: | CN102420835A | 公开(公告)日: | 2012-04-18 |
发明(设计)人: | 吴天勇 | 申请(专利权)人: | 广东佳和通信技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/56 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 温旭 |
地址: | 519000 广东省珠海市软*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 融合 通信 系统 rtp 媒体 代理 方法 | ||
技术领域
本发明涉及数据处理领域,特别是涉及一种融合通信系统中,高效代理RTP媒体流的方法。
背景技术
融合通信,Unified Communication,简称UC,也常翻译为统一通信。融合通信是指,把计算机技术与传统通信技术融合一体的新通信模式,融合计算机网络与传统通信网络在一个网络平台上,实现电话、传真、数据传输、音视频会议、呼叫中心、即时通信等众多应用服务。融合通信中,媒体流(语音、视频流)采用RTP协议(实时传送协议)进行传送。RTP基于UDP传输协议实现。一般情况下,融合通信的终端间可以让媒体流直通,如图1所示。
当需要对通话进行录音或穿透防火墙时,需要对RTP媒体流进行代理,如图2所示。
RTP代理服务器是NTX系统中提供呼叫媒体流代理的服务器软件。当NTX呼叫控制服务器接收到呼叫,并确定主被叫终端所处的网络位置不能满足媒体流点点互通时,呼叫控制服务器就会通过RTP代理服务器的服务接口创建一个媒体代理实体,该媒体代理实体的作用是接收主被叫终端的媒体数据(语音包),并将其转发到主被叫终端中的另一方。
一般的RTP代理服务器的实现方法是在应用层读取网络层的UDP数据包,然后在应用层按照指定的目的进行转发,实现逻辑如图3所示,应用层没有修改RTP数据包即媒体数据包中的任何内容,仅仅是对RTP包进行了一个重定向(转发),但是RTP数据包却需要经过:链路层→系统网络层→应用层→系统网络层→链路层的多次拷贝操作,这对RTP代理服务器的性能提出了较高的要求。
发明内容
本发明所要解决的问题是提供一种RTP媒体流的代理方法,以减少在应用层代理RTP数据包造成的性能开销,提高RTP数据包转发的效率。
为解决上述问题,本发明提供了融合通信系统中一种RTP媒体流的代理方法,该方法利用操作系统的网络层直接转发RTP媒体流(UDP数据包),以达到提高转发效率的目的。
本发明是通过以下技术方案实现的:
一种融合通信系统中RTP媒体流的代理方法,其包括以下步骤:
主叫终端的媒体流进入RTP代理服务器的链路层,再从链路层进入系统网络层;
应用层通过对系统网络层的控制命令,直接控制系统网络层将RTP媒体流数据的目的地修改后,返还给链路层,最终发送到被叫终端。
作为优化,所述应用层对所述系统网络层的控制是通过对IPTABLES的控制完成的,所述IPTABLES用于对Linux内核网络栈收到的数据包进行相关处理。
如上所述,本发明使用系统的网络层实现收发器的功能,而控制网络层去转发媒体数据包,是通过控制IPTABLES来实现的。IPTABLES用于对Linux内核网络栈收到的媒体数据包进行相关处理,其中包括NAT。这些处理逻辑由一些IPTABLES规则来描述,而这些规则是可以由应用层软件(譬如媒体代理实体)通过IPTABLES命令来定义的。本发明提供一种使用IPTABLES配置NAT功能中的PREROUTING表的方法,包括以下步骤:
S1、提供收发器A和收发器B,收发器A用于接收主叫终端的媒体数据,并将自收发器B接收到的发自被叫终端的媒体数据发送到主叫终端;收发器B用于接收被叫终端的媒体数据,并将自收发器A接收到的发自主叫终端的媒体数据发送到被叫终端;收发器A和B分别打开一个UDP网络套接字,并将各自的网络地址绑定到各自打开的套接字,收发器A和收发器B使用各自打开的UDP套接字进行收与发的操作;
S2、收发器A和B开始侦听各自的UDP套接字,当一个收发器接收到其套接字的第一个RTP数据包时,该收发器提取并记录该数据包的源地址,此时该收发器与该终端网络地址建立了关联;当两个收发器都收到一个媒体数据包,并建立了到终端的网络地址关联后,执行下一步;
S3、通过iptables命令设置来自主叫终端的媒体数据包的NAT规则:
对经过PREROUTING链源地址为主叫终端收发器网络地址的媒体数据包进行DNAT操作,将该数据包的目的地址转换为被叫终端收发器的网络地址;
对经过POSTROUTING链目的源地址为主叫终端收发器网络地址的媒体进行SNAT操作,将该数据包的源地址转换为媒体代理实体收发器B的网络地址;
S4、媒体代理实体通过iptables命令自动设置来自被叫终端的媒体数据包的NAT规则:
通过iptables命令设置来自被叫终端的媒体数据包的NAT规则:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东佳和通信技术有限公司,未经广东佳和通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210006675.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种料斗装置及混凝土机械
- 下一篇:挖掘机用排污清淤装置