一种基于ssrc的收发rtp包的方法

文档序号:8342677阅读:1144来源:国知局
一种基于ssrc的收发rtp包的方法
【技术领域】
[0001] 本发明涉及一种网络通信中收发数据包的方法,特别涉及一种基于SSRC的收发 RTP包的方法。
【背景技术】
[0002] 基于IP的通信系统对信息传输的实时性要求越来越高,尤其是实时交互的语音 和视频等业务。在目前IP集群调度通信专网领域中,调度交换机对外接口包括控制层面和 用户面,控制面采用SIP(会话发起协议)或者其它协议传输信令,用户面采用RTP/RTCP协 议传输语音包,RTP(Real-timeTransportProtocol,实时传输协议)用于传输实时数据 如语音,RTCP(Real-timeTransportControlProtocol,实时传输控制协议)用于监视网 络的服务质量,并传递与会者会话中的信息。RTP/RTCP-般承载于UDP上,如图1所示。
[0003]RTP流使用偶数2n端口号,相应RTCP实用相邻的奇数2n+l端口号,RTP包头结构 如图2所示。呼叫建立时(包括媒体需要经过交换机的单呼以及组呼),交换机为本次呼叫 分配RTP端口,并通过信令传输给终端,以便终端能正确地将语音包发送给指定的端口,呼 叫结束后交换机回收之前分配的端口,也就是说RTP端口是随呼叫动态随机分配的,同一 时刻每个呼叫所分配的端口都不相同,并且同一呼叫内为各方分配的端口也不相同,不同 的媒体流采用端口号(加上网络地址,一般网络地址为同一个)来区分,RTP包头中SSRC(同 步源)字段没有有效使用。
[0004] 然而已有技术普遍采用的方法是:分配一大段端口范围,在呼叫时从中分配选择 端口。这种方式不仅需要占用大量的端口资源,并且端口号不可控的,随机分配的多个端口 可能发生冲突。此外,监听以及录音时也不方便,特别是涉及NAT(网络地址转换)穿越需 要端口映射时比较繁琐。

【发明内容】

[0005] 鉴于上述现有技术所存在的问题,本发明提出一种基于SSRC的收发RTP包的方 法,该方法中会话终端之间通过交换机发送和接收RTP包,包括以下步骤:交换机配置固定 端口,启动线程以监听该端口;呼叫建立时,交换机为本呼叫分配固定端口,分别为各会话 终端分配一个SSRC,并将分配的固定端口和SSRC信息分别传送给各会话终端;呼叫建立 后,各会话终端利用从所述交换机获取的SSRC填充RTP包头,向对端或交换机发送RTP包。
[0006] 优选的,交换机通过呼叫信令消息将固定端口和SSRC信息传送给各会话终端,各 会话终端从所述呼叫信令消息中提取所述信息。
[0007] 优选的,该方法还包括:在呼叫建立时,交换机建立各SSRC的控制块,其中记录各 SSRC会话转接关系、和各SSRC关联对应的远端媒体地址和本端媒体地址。
[0008] 优选的,交换机为本呼叫分配的固定端口为一个或多个,为各会话终端分配的 SSRC各不相同。
[0009] 优选的,交换机为本呼叫分配固定端口,分别为各会话终端分配一个SSRC,并将分 配的固定端口和SSRC信息分别传送给各会话终端,具体包括:
[0010] 主叫终端发起呼叫,携带主叫的媒体地址;交换机收到呼叫后,从本端配置的固定 端口中选择端口port1,给被叫终端发送呼叫消息,携带为被叫分配的本端媒体端口port1 和SSRCB字段;被叫终端收到呼叫消息,保存交换机的媒体地址信息,提取其中的SSRCB 字段并保存,发送应答消息给交换机,该应答消息携带被叫终端的媒体地址;交换机收到应 答消息,保存被叫终端的媒体地址到对应的SSRCB的控制块中,然后给主叫终端发送被叫 应答消息,携带为主叫终端分配的本端媒体端口port1和SSRCA字段;主叫终端收到被叫应 答消息,提取其中的SSRCA字段并保存,回复确认消息。
[0011] 优选的,所述各会话终端利用从交换机获取的SSRC填充RTP包头,向对端或交换 机发送RTP包具体包括:呼叫建立后,各会话终端分别使用所述获取的SSRC填RTP包头的 同步源标识符字段,发送给交换机;各会话终端向本呼叫分配的交换机固定端口发送RTP 包,交换机收到RTP包,根据包头同步源标识符字段找到对应的转发表,将收到的RTP发送 给该转发表中记录的远端媒体地址。
[0012] 优选的,所述会话终端至少包括一个主叫终端和一个被叫终端;所述RTP包为RTP 语音包。
[0013] 本发明还提出一种用于上述方法的交换机装置,该装置包括固定端口管理模块用 于呼叫建立时为本呼叫分配固定端口;SSRC管理模块用于为各会话终端分配SSRC;消息收 发模块用于将分配的固定端口和SSRC信息发送给各会话终端,接收各会话终端发送的消 肩、。
[0014] 优选的,该装置还包括控制块管理模块,用于建立和维护各SSRC控制块,记录各 SSRC会话转接关系和各SSRC关联对应的远端媒体地址和本端媒体地址。
[0015] 优选的,固定端口管理模块为本呼叫分配的固定端口为一个或多个,所述SSRC管 理模块分配的SSRC各不相同。
[0016] 本发明还提出一种用于上述方法的终端装置,该装置包括第一模块,用于接收交 换机消息,提取其中的SSRC信息并保存;第二模块,用于利用所述第一模块提取的SSRC信 息填充RTP包头。
[0017] 本发明还提出一种用于上述方法的系统,该系统包括如上的交换机装置和终端装 置。
[0018] 本发明使交换机只需要提供有限个固定的端口号,采用复用端口号的方式来传输 不同的会话语音流。交换机统一分配RTP包头中的SSRC,通过SSRC来区分不同的媒体流, 同时也解决了各终端自行分配SSRC可能冲突的问题。
[0019] 相比于先前技术,本发明至少具有以下优点:
[0020] 1、解决了现有技术媒体端口使用随机性,端口占用数量过多以及不可控的缺陷;
[0021] 2、由于端口固定分配,因此在监控时非常有利,如需要监控通话内容,只需要监控 固定端口进出的UDP包即可;
[0022] 3、在私网NAT穿越时,使语音的穿越这项较为繁琐的任务在使用固定端口后变得 配置更简单;
[0023] 4、在集群专网系统中,录音功能一般是必不可少的,此时由于媒体端口固定,只需 要对固定端口录音即可,非常方便。
【附图说明】
[0024] 图1是现有技术的标准RTP/RTCP网络层次关系的简图。
[0025] 图2是现有技术中标准RTP报文结构的示意图。
[0026] 图3是根据本发明实施例之一的基于SIP的单呼流程图。
[0027] 图4是根据本发明实施例之一的基于SIP的组呼流程图。
【具体实施方式】
[0028] 为对本发明作进一步的理解,下面将结合附图对本发明所述的方法的具体实施例 作详细描述。本领域技术人员应当理解,下面描述中的附图仅仅是本发明的一些实施例,对 于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得 其他相关内容。
[0029] 本发明披露的方法中会话终端之间通过交换机发送和接收RTP包,交换机配置固 定端口,启动线程以监听该端口,呼叫建立时,交换机为本呼叫分配固定端口,分别为各会 话终端分配一个SSRC,并将分配的固定端口和SSRC信息分别传送给各会话终端,呼叫建立 后,各会话终端利用从所述交换机获取的SSRC填充RTP包头,向对端或交换机发送RTP包。
[0030] 实施例1
[0031] 图3是根据本发明第一实施例基于SIP的单呼流程图。主叫终端A经交换机而呼 叫唯一的被叫终端B。现参见图3,基于SIP的单呼流程主要包括:
[0032] 步骤301.交换机启动后,配置4个端口(假设为portl,port2,port3,port4)用于 媒体收发包,针对每个端口各启动一个线程,共4个线程用于收包处理,每个线程处理一个 端口;
[0033]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1