CN101656715B - 一种媒体旁路的方法、系统和装置 - Google Patents
一种媒体旁路的方法、系统和装置 Download PDFInfo
- Publication number
- CN101656715B CN101656715B CN200810147154.8A CN200810147154A CN101656715B CN 101656715 B CN101656715 B CN 101656715B CN 200810147154 A CN200810147154 A CN 200810147154A CN 101656715 B CN101656715 B CN 101656715B
- Authority
- CN
- China
- Prior art keywords
- terminal
- information
- media
- port
- address
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种媒体旁路的方法、系统和装置,所述媒体旁路的方法包括:第二终端获取第一终端的信息;在所述第二终端支持终端互通性探测时,根据所述信息中的互通性探测标识确定所述第一终端支持终端互通性探测之后,所述第二终端根据所述信息中的第一终端地址和端口与所述第一终端进行协商;在所述协商成功之后,所述第二终端根据所述协商后的第一终端地址和端口与所述第一终端进行媒体连接。本发明实施例实现了同一网络内的两个终端在进行媒体通信时不需要由SBC进行媒体代理,减轻了SBC媒体处理的负担,节约了网络带宽,提高了SBC利用率。
Description
技术领域
本发明实施例涉及网络通信技术领域,特别涉及一种媒体旁路的方法、系统和装置。
背景技术
在下一代网络基于IP(Internet Protocol,网络协议)的多媒体通信中,为了解决NAT(Network Address Translation,网络地址转换)/FW(FireWall,防火墙)等网络穿越问题,普遍采用在网络边界上部署SBC(Session BorderControllers,会话边界控制器)设备,通过SBC进行信令和媒体全代理的方案。处于公网或者同一个私网内的终端设备,如果通过SBC进行信令代理,那么一般SBC也会进行媒体代理。如果所有的媒体都由SBC代理,那么SBC设备的处理能力和带宽限制将成为这种星形网络的瓶颈。
在SBC组网方式下,终端发起的建立媒体会话的会话初始化信令是通过SBC代理的。SBC把主叫终端发送的请求中的SDP(Session DescriptionProtocol,会话描述协议)参数中的主叫媒体地址和端口修改为SBC分配的地址和端口,传给被叫终端,使得后续建立媒体会话时,被叫终端与SBC之间建立媒体会话。SBC用同样的方式把被叫终端发送的响应中携带的SDP参数中的媒体地址和端口修改为SBC分配的地址和端口,使得后续建立媒体会话时,主叫也与SBC建立媒体通信。SBC在分配的两对地址/端口之间进行媒体会话的相互转发,从而实现媒体代理的功能。
由于SBC组网方式下,终端是注册到SBC的,通过这种注册机制,SBC可以获取并记录终端NAT转换后的地址和端口。当主叫终端发起呼叫时,SBC可以通过被叫终端的账号查询到被叫终端NAT转换后的地址和端口,从而可以判断出主被叫是否处于同一个私网内,因此SBC可以检测出单出口(私网内的IP地址都映射到同一个公网IP上)NAT网络内的终端。对于多出口(私网内的IP地址映射到一个地址池)NAT网络则需要通过在SBC上进行旁路媒体地址池(IP地址集合)设置,从而使SBC可以检测出同一NAT私网内的终端。
对于SBC部署在私网内部的情况,以上通过在SBC上进行地址段、地址池配置的情况也同样适用。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
基于SBC实现的媒体旁路技术,配置繁琐,需预先做好网络规划,了解能够旁路的IP地址网段,配置SBC,网络更改维护后需要更新SBC配置。并且,SBC无法区分同一网络内网络隔离的情况。同一网络内的终端注册到不同SBC时,注册数据共享较困难,需要提供公用的注册数据查询服务,成本较高。
发明内容
本发明实施例提供一种媒体旁路的方法、系统和装置,以实现在终端可以直接媒体互通时,进行SBC旁路,使可以直接媒体互通的终端直接进行媒体连接。
为达到上述目的,本发明实施例一方面提供一种媒体旁路的方法,包括:
第二终端获取第一终端的信息;
在所述第二终端支持终端互通性探测时,根据所述信息中的互通性探测标识确定所述第一终端支持终端互通性探测之后,所述第二终端根据所述信息中的第一终端地址和端口与所述第一终端进行协商;
在所述协商成功之后,所述第二终端根据所述协商后的第一终端地址和端口与所述第一终端进行媒体连接。
另一方面,本发明实施例还提供一种媒体旁路的系统,包括:
第一终端,用于发送所述第一终端的信息;
第二终端,用于获取所述第一终端的信息,在所述第二终端支持终端互通性探测时,根据所述信息中的互通性探测标识确定所述第一终端支持终端互通性探测之后,所述第二终端根据所述信息中的第一终端地址和端口与所述第一终端进行协商,在所述协商成功之后,第二终端根据所述协商后的第一终端地址和端口与所述第一终端进行媒体连接。
再一方面,本发明实施例还提供一种终端,包括:
信息获取模块,用于获取另一终端的信息;
判断模块,用于在所述终端支持终端互通性探测时,根据所述信息获取模块接收的信息中的互通性探测标识确定所述另一终端是否支持终端互通性探测;
握手模块,用于当所述判断模块确定所述另一终端支持终端互通性探测时,根据所述信息中的所述另一终端地址和端口与所述另一终端进行协商;
媒体模块,用于在所述握手模块协商成功之后,根据所述协商后的第一终端地址和端口与所述第一终端进行媒体连接。
与现有技术相比,本发明实施例具有以下优点:通过本发明实施例,在第二终端支持终端互通性探测时,在确定第一终端也支持终端互通性探测之后,与该第一终端进行协商,在协商成功之后,第二终端根据协商后的第一终端地址和端口与第一终端进行媒体连接。本发明实施例实现了同一网络内的两个终端在进行媒体通信时不需要由SBC进行媒体代理,减轻了SBC媒体处理的负担,节约了网络带宽,提高了SBC利用率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例同一网络内媒体旁路示意图;
图2为本发明实施例媒体旁路的方法的流程图;
图3为本发明实施例终端互通性探测的流程图;
图4为本发明实施例媒体旁路的系统的结构图;
图5为本发明实施例终端的一种结构图;
图6为本发明实施例终端的另一种结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种媒体旁路的方法,实现了准确检测同一网络中两个终端之间是否可以进行媒体互通,对于检测出来可以直接媒体互通的终端间的媒体会话,进行SBC旁路。本发明实施例中的同一网络可以为同一私网,也可以为公网。在实现SBC媒体旁路时,SBC仅需简单配置(仅一个开关控制功能)或零配置,不需要SBC间共享注册信息数据。
多媒体通信中只要终端之间的网络可以互通,那么媒体流在终端之间就可以绕开SBC直接互通,减轻SBC的负担。而网络是否可以直接互通的探测可以由参与媒体会话的两个终端之间完成。这种方式适用于公网或同一私网内的终端探测。
本发明实施例适用于同一网络中的终端进行媒体会话,需要进行SBC媒体旁路的情形,当两个终端不在同一网络内时,就认为这两个终端不能直接互通,还是由SBC进行媒体代理。如图1所示,终端A与终端B建立媒体会话时,可以采用本发明实施例提供的媒体旁路的方法进行SBC媒体旁路,而终端A与终端C建立媒体会话时还是由SBC进行代理。
如图2所示,为本发明实施例媒体旁路的方法的流程图,具体包括:
步骤S201,第二终端获取第一终端的信息。
其中,该第一终端的信息包括第一终端创建的握手对话的对话标识、第一终端的IP地址、第一终端的握手端口信息、第一终端的音频媒体端口信息和视频媒体端口信息。第一终端发送的呼叫请求通过SIP(Session InitiationProtocol,会话初始化协议)invite信令的Call-Info头域携带。并且本发明实施例在Call-Info头域中增加了探测信息,例如:purpose=detection。
步骤S202,在第二终端支持终端互通性探测时,根据该信息中的互通性探测标识确定第一终端支持终端互通性探测之后,第二终端根据所述信息中的第一终端地址和端口与所述第一终端进行协商。
其中,第二终端根据该信息中的互通性探测标识确定第一终端支持终端互通性探测具体可以为:
第二终端判断该信息中是否包含互通性探测标识,如果该信息中包含互通性探测标识,则第二终端确定第一终端支持终端互通性探测。
在第二终端确定第一终端支持终端互通性探测之后,第二终端创建握手对话,发送握手请求至第一终端,根据所述信息中的第一终端地址和端口与所述第一终端进行协商。其中,在第二终端创建握手对话时,第二终端以第一终端创建的握手对话的对话标识作为该第二终端创建的握手对话的对话标识。
在第二终端发送给第一终端的握手请求中包括操作类型、第二终端创建的握手对话的对话标识、第二终端的IP地址、第二终端的握手端口信息、第二终端的音频媒体端口信息和视频媒体端口信息。
在第一终端接收到握手请求后,该第一终端判断握手请求中携带的第二终端创建的握手对话的对话标识与第一终端创建的握手对话的对话标识是否匹配,当第二终端创建的握手对话的对话标识与第一终端创建的握手对话的对话标识匹配时,第一终端判断握手请求中携带的第二终端的IP地址与第一终端接收握手请求的源IP地址是否相同。
当第一终端确定握手请求中携带的第二终端的IP地址与第一终端接收握手请求的源IP地址相同时,第一终端确定可以与第二终端直接媒体互通,向第二终端发送协商成功响应消息。
步骤S203,在协商成功之后,第二终端根据协商后的第一终端地址和端口与第一终端进行媒体连接。具体可以为:
本发明实施例中,在获取第一终端的信息之后,第二终端根据第一终端的音频媒体端口信息和视频媒体端口信息,与第一终端进行SDP协商。然后,第二终端使用第一终端的IP地址,以及该第一终端的音频媒体端口信息和视频媒体端口信息替换SDP协商结果中的对端IP地址,以及对端的音频媒体端口信息和视频媒体端口信息,进行媒体对话。
并且,第一终端也使用第二终端的IP地址,以及第二终端的音频媒体端口信息和视频媒体端口信息替换SDP协商结果中的对端IP地址,以及对端的音频媒体端口信息和视频媒体端口信息,进行媒体对话。从而第一终端可以与第二终端直接进行媒体对话。
上述媒体旁路的方法,在第二终端支持终端互通性探测时,在确定第一终端也支持终端互通性探测之后,与该第一终端进行协商,在协商成功之后,第二终端根据协商后的第一终端地址和端口与第一终端进行媒体连接。本发明实施例实现了同一网络内的两个终端在进行媒体通信时不需要由SBC进行媒体代理,减轻了SBC媒体处理的负担,节约了网络带宽,提高了SBC利用率。并且,提高了私网内的网络质量,减少了媒体流的延迟、抖动,减少了媒体流误码率,从而提高了媒体通话的质量。SBC媒体旁路由终端之间完成,无需SBC做繁琐的配置,也不需要SBC之间共享注册数据。通过终端之间的终端互通性探测,可以判断出同一网络内网络隔离的情况,对不能互通的终端不进行SBC媒体旁路。
在本发明实施例中,以第一终端为主叫终端,第二终端为被叫终端为例进行说明,但本发明实施例并不局限于此。
一般情况下,经过SBC服务器、SIP服务器,AS(Advanced Server,业务服务器)等网络设备后,主叫终端信息(如主叫终端IP地址、SIP监听端口、媒体收发地址/端口等信息)都无法透传到被叫终端设备。同样,被叫终端的信息也无法透传到主叫终端。因此终端间在探测是否能够互通时,必须要传递信息给对方终端。以SIP呼叫为例,本发明实施例扩展SIP信令的头域Call-Info,在Call-Info中增加探测信息purpose=detection,并在Call-Info中填入主叫终端的信息,这些信息包括:对话标识、主叫终端IP地址、握手端口(探测端口)和媒体端口。
其中,对话标识由主叫终端在创建对话请求时产生,可以是一个随机字符串,产生规则同SIP消息中的Call-ID的产生规则,只要能保证对话标识的唯一性即可。对话标识用于后续主被叫终端间握手时匹配对话。
主叫终端IP地址由主叫终端获取本机IP地址,作为被叫终端探测的目的地址,也是后续媒体会话建立时媒体收发的地址。
握手端口又叫探测端口,是监听握手请求和发送后续响应的端口,这里与SIP端口一致。媒体端口是会话建立时,终端接收和发送媒体的端口,也是终端在SDP中填写的媒体端口。这里的媒体端口包括音频和视频两个端口。
上述参数使用“|”分隔符分隔,具体形式如下:
Call-Info:<对话标识|IP|握手端口|音频端口|视频端口>;purpose=detection
Call-Info:<AS234234LK|10.10.10.1|5060|10500|10510>;purpose=detection
在发起SIP会话时,主叫终端在invite信令中带上具有探测信息的Call-Info头域,SBC服务器、SIP服务器和AS透传主叫终端设置的Call-Info信息,被叫终端收到主叫终端设置的Call-Info信息。如果被叫终端不支持终端探测机制,则Call-Info信息将被忽略;如果被叫终端支持终端探测机制,那么被叫终端从收到的invite信令中获取Call-Info头域,通过判断该invite信令是否带有purpose=detection参数来判断主叫终端是否具备握手能力。如果主叫终端也是支持探测机制的终端,被叫终端在收到invite信令以后就可以开始发起探测了。
本发明实施例中,终端实现的终端互通性探测是通过终端之间握手的方式实现的,因此也称为握手机制。
如图3所示,为本发明实施例终端互通性探测的流程图。其中:
(1)UA(User Agent,用户代理)指的是终端原有的信令、业务逻辑处理模块以及UI(User Interface,用户界面)展现部分,包括信息获取模块,主要完成SIP呼叫的信令流程处理,界面展现及媒体控制功能。在本发明实施例对UA进行了一些修改,增加了探测发起功能以及探测成功以后的媒体切换逻辑处理。
(2)媒体模块:主要完成媒体流的采集、播放、编码、解码、发送、接收以及媒体处理等功能。
(3)握手模块:为本发明实施例中的新增模块,主要处理终端之间握手协商信令流程。
(4)SIP协议栈:握手请求信令和确认请求信令使用SIP协议标准的Option信令,并沿用了SIP协议栈的事务处理和重传等机制,SIP协议栈需要进行一些改造,使得应用能够指定SIP消息的发送目的地址和端口,以便直接把握手请求消息直接发送给对方终端。同时,SIP协议栈也要能够支持这种直接终端与终端之间发送的信令,能够上抛给应用。
在图3中,UA A、媒体模块A、握手模块A、SIP协议栈A组成主叫终端,UA B、媒体模块B、握手模块B、SIP协议栈B组成被叫终端,两终端都支持终端探测机制,该终端互通性探测的流程具体包括:
步骤S301,主叫终端发起invite呼叫请求后调用握手模块接口,传入对话标识,创建握手对话,握手对话以对话标识为唯一标识和索引。置对话为初始化状态。
步骤S302,被叫终端UA B收到UA A的invite请求后,通过检测Call-Info头域中的purpose参数是否等于detection,判断出主叫终端支持终端探测机制。解析并保存Call-Info头域的信息。
步骤S303,UA B向握手模块B发握手请求命令,在命令中把从Call-Info中获取的对话标识、主叫终端IP地址、握手端口信息传到握手模块。
步骤S304,握手模块B创建握手对话,以对话标识为唯一标识和索引,置会话状态为初始化状态。
步骤S305,握手模块B调用SIP协议栈接口,构造和发送握手请求。
步骤S306,SIP协议栈B使用对话外的Option请求向SIP协议栈A发送握手请求。该Option请求携带消息体,消息体类型(Content-type)为application/xml,以XML(eXtensible Markup Language,可扩展标识语言)的方式进行组织。消息体主要包括操作类型、对话标识、被叫终端IP地址,握手端口,音频媒体端口,视频媒体端口信息。组织方式如下:
<detection>
<action>request</action>
<tag>LA23LKJLJ</tag>
<ip>192.168.1.1</ip>
<d-port>5060</d-port>
<a-port>10500</a-port>
<v-port>10510</v-port>
</detection>
步骤S307,主叫终端SIP协议栈A收到Option请求后,将该Option请求上抛给握手模块A。
步骤S308,握手模块A判断该Option消息体类型及解析消息体内容,通过action判断出这是一个握手请求,用Option中的对话标识(tag)匹配本地的握手对话。对话匹配成功后,在握手对话中保存消息体中的信息。同时,用消息体中被叫终端地址(ip)与SIP协议栈实际接收Option消息的源地址进行比较,如果这两个地址不相同则说明主被叫终端之间存在NAT,认为两终端不能直接互通,主叫终端置握手状态为inactive;如果这两个地址相同,则认为被叫终端发送的包主叫终端可以收到,但是还不能确定主叫终端发送的包被叫终端是否可以收到,这时主叫终端置握手状态为recvonly。
步骤S309,握手模块A发送握手请求响应。如果主叫终端的握手状态为inactive,握手模块A通过SIP协议栈A向被叫终端SIP协议栈B发送403失败响应;如果主叫终端的握手状态为recvonly,握手模块A通过SIP协议栈A向被叫终端SIP协议栈B发送Option请求的200响应,该200响应中同样携带消息体。消息体中包含对话ID,结构如下:
<detection>
<tag>LA23LKJLJ</tag>
</detection>
步骤S310,如果被叫终端收到403失败响应,则置握手对话状态为inactive,结束握手过程。如果被叫终端收到200成功响应,SIP协议栈B向握手模块B上报握手成功事件。
步骤S311,握手模块B确认对话标识正确后置握手对话状态为sendrecv。
步骤S312,握手模块B向UA B上报握手成功事件。
步骤S313,被叫终端UA B进行媒体切换决策。
步骤S314,被叫终端UA B向媒体模块B发送切换媒体。
步骤S315,被叫终端握手模块B发送确认请求。
步骤S316,SIP协议栈B使用Option请求向SIP协议栈A发送确认请求。该确认请求携带消息体,消息体如下:
<detection>
<action>ack</action>
<tag>LA23LKJLJ</tag>
</detection>
步骤S317,主叫终端SIP协议栈A收到Option确认请求后上抛给握手模块A处理。
步骤S318,握手模块A匹配对话标识成功后置握手对话状态为sendrecv。
步骤S319,握手模块A上抛握手成功事件给UA A。
步骤S320,UA A进行媒体切换决策。
步骤S321,UA A发送切换媒体至媒体模块A。
步骤S322,握手模块A回复确认请求响应至SIP协议栈A。
步骤S323,SIP协议栈A向SIP协议栈B发送200响应。
步骤S324,SIP协议栈B上抛请求结果给握手模块B。
在被叫终端收到主叫终端发起的invite呼叫请求发起终端握手以后,握手协商过程与呼叫信令协商过程就是一个异步的过程,这两个过程完成的先后顺序是不确定的,因此在媒体控制方面需要进行以下几方面的处理:
在发起SIP会话的过程中,主叫终端发送invite信令后收到的180响应可能带有SDP,此时终端需要开媒体处理。这时只需要按照SDP协商结果处理即可。
在主叫终端的invite请求被确认后,主被叫终端需要进行打开媒体或媒体更新处理。这时需要通过握手模块查询一下握手协商结果。如果此时握手对话状态不为sendrecv,则按照SDP协商结果打开或更新媒体;如果握手对话状态为sendrecv,则使用握手模块中的被叫终端的IP地址、媒体端口替换SDP协商结果中的对端地址和媒体端口,开启或更新媒体。
在终端互通性探测过程中,主被叫终端UA收到握手成功事件后也需要进行媒体切换决策。如果此时invite请求还没被确认,或者媒体会话处于保持状态,UA仅需记录协商状态即可,不需做媒体处理。如果此时invite请求已经被确认并且主被叫处于正常通话状态,则主被叫需要使用握手模块中的被叫终端IP地址、媒体端口替换SDP协商结果中的对端地址和媒体端口更新媒体。
由于在音频通话过程中,终端并不是只跟终端进行媒体交互,终端也会跟媒体资源服务器等实体进行交互,比如在听回铃音时、通话被保持时。而媒体资源服务器并不在网络内部,终端与媒体资源服务器的媒体流需要由SBC代理,这就需要终端能够在正确的时机进行切换,在本发明实施例中,进行判断切换时机的条件主要是通话状态,具体分为以下几种情况:
(1)当通话状态为非正常通话状态和hold状态时,认为终端的会话还处于初始化状态。初始化状态时终端的媒体交互都是与媒体资源服务器的交互,比如听回铃音。因此,此时终端打开媒体时不用判断握手协商是否成功,以SDP协商结果为准打开媒体。
(2)当通话状态为正常通话时,如果握手协商已经成功,则按照握手协商结果切换媒体,进行SBC媒体旁路。否则以SDP协商结果为准进行媒体会话。
(3)当通话状态为保持或被保持时,按照SDP协商结果进行媒体会话。
(4)当通话状态从保持或被保持中恢复为通话状态时,如果握手协商已经成功,则按照握手协商结果切换媒体,进行SBC媒体旁路。否则以SDP协商结果为准进行媒体会话。
在以上实施例的描述中,以握手(探测)的发起方为被叫终端为例进行说明,但是也可以由主叫终端发起探测,这就要求被叫终端把被叫终端的相关信息先发送给主叫终端。
在以上实施例的描述中,主叫终端的信息通过invite信令传递给被叫终端,如果由主叫终端发起探测,则被叫终端可以在180或者200信令中携带被叫终端的信息传递给主叫终端。另外,无论主叫终端还是被叫终端发起探测,都可以通过对话内的update、option、info等信令把自身的信息发送给对方,还可以通过对话外的message,option等信令发送给对方。
在信令传递使用的头域上,终端也可以借用其他SIP头域进行传递,或者使用终端扩展的SIP头域进行传递,还可以使用SDP中的a行携带信息,传递给对方终端。在信息的组织格式上也可以采用其他的分隔符,如空格,逗号,分号,单引号,双引号,斜杠,反斜杠等。
在以上实施例的描述中,握手(探测)信息是由主叫终端执行获取并填入指定的位置。也可以通过改造一下SBC,由SBC获取终端的私网地址,媒体端口等信息,填到信令中的指定位置。
在以上实施例的描述中,主被叫终端握手使用SIP信令实现,这里也可以不使用SIP信令,借助RTP/RTCP实现,只需将握手端口修改为对方的媒体端口即可。也可以使用私有的协议,这时握手端口为私有协议的发送和接收端口。私有协议用于实现UDP包的发送,接收,请求和响应的事务和重传机制,类似一个简化的SIP协议栈,或者实现一个三次握手的简化协议。
握手采用的信令也可以不用Option信令,使用对话外的message,Info等信令也可以实现。握手信息的携带除了可以使用消息体携带以外,也可以通过头域来携带。
握手信令中的信息组织方式也不一定要使用XML的方式,可以采用任意可拼装和解析的方式。
如图4所示,为本发明实施例媒体旁路的系统的结构图,包括:
第一终端41,用于发送第一终端41的信息;
第二终端42,用于获取第一终端41的信息,在第二终端42支持终端互通性探测时,根据所述信息中的互通性探测标识确定第一终端41支持终端互通性探测之后,第二终端42根据所述信息中的第一终端41的地址和端口与第一终端41进行协商,在协商成功之后,第二终端42根据协商后的第一终端41的地址和端口与第一终端41进行媒体连接。
上述媒体旁路的系统,在第二终端42支持终端互通性探测时,在确定第一终端41也支持终端互通性探测之后,与该第一终端41进行协商,在协商成功之后,第二终端42根据协商后的第一终端41的地址和端口与第一终端41进行媒体连接。本发明实施例实现了同一网络内的两个终端在进行媒体通信时不需要由SBC进行媒体代理,减轻了SBC媒体处理的负担,节约了网络带宽,提高了SBC利用率。
如图5所示,为本发明实施例终端的一种结构图,包括:
信息获取模块51,用于获取另一终端的信息;
判断模块52,用于在终端支持终端互通性探测时,根据信息获取模块51接收的信息中的互通性探测标识确定另一终端是否支持终端互通性探测;
协商模块53,用于当判断模块52确定另一终端支持终端互通性探测时,根据所述信息中的另一终端地址和端口与另一终端进行协商;
媒体模块54,用于在协商模块53协商成功之后,根据协商后的另一终端地址和端口与另一终端进行媒体连接。
其中,如图6所示,判断模块52可以包括:
信息检测子模块521,用于判断所述信息中是否包含互通性探测标识;
互通确定子模块522,用于在信息检测子模块521确定该信息中包含互通性探测标识时,确定另一终端支持终端互通性探测。
其中,信息获取模块51具体可以用于获取SIP invite信令携带的另一终端的信息,该终端还可以包括:SDP协商模块55,用于根据另一终端的音频媒体端口信息和视频媒体端口信息,与另一终端进行SDP协商,该另一终端的音频媒体端口信息和视频媒体端口信息包含在上述另一终端的信息中。
上述媒体模块54具体可以用于使用另一终端的IP地址,以及另一终端的音频媒体端口信息和视频媒体端口信息替换SDP协商模块55的协商结果中的对端IP地址,以及对端的音频媒体端口信息和视频媒体端口信息,进行媒体连接。
上述终端,判断模块52在该终端支持终端互通性探测时,确定另一终端是否也支持终端互通性探测,在判断模块52确定另一终端也支持终端互通性探测之后,协商模块53与另一终端进行协商,在协商成功之后,媒体模块54根据协商后的另一终端地址和端口与另一终端进行媒体连接。从而实现了同一网络内的两个终端在进行媒体通信时不需要由SBC进行媒体代理,减轻了SBC媒体处理的负担,节约了网络带宽,提高了SBC利用率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (12)
1.一种媒体旁路的方法,其特征在于,包括:
第二终端获取第一终端的信息;
所述第二终端获取第一终端的信息具体包括:
所述第二终端获取会话初始化协议SIP invite信令携带的第一终端的信息;
所述SIP invite信令包括:增加了探测信息和第一终端信息的Call-Info头域;
在所述第二终端支持终端互通性探测时,根据所述信息中的互通性探测标识确定所述第一终端支持终端互通性探测之后,所述第二终端根据所述信息中的第一终端地址和端口与所述第一终端进行协商;
在所述协商成功之后,所述第二终端根据所述协商后的第一终端地址和端口与所述第一终端进行媒体连接;
所述第一终端信息包括:对话标识、主叫终端IP地址、握手端口和媒体端口。
2.如权利要求1所述媒体旁路的方法,其特征在于,所述根据所述信息中的互通性探测标识确定所述第一终端支持终端互通性探测具体包括:
判断所述信息中是否包含互通性探测标识;
如果所述信息中包含所述互通性探测标识,则第二终端确定所述第一终端支持终端互通性探测。
3.如权利要求1所述媒体旁路的方法,其特征在于,所述第二终端根据所述信息中的第一终端地址和端口与所述第一终端进行协商具体包括:
第二终端创建握手对话,根据所述信息中的第一终端地址和端口发送握手请求至所述第一终端,与所述第一终端进行握手协商。
4.如权利要求3所述媒体旁路的方法,其特征在于,所述第一终端的信息包括所述第一终端创建的握手对话的对话标识,在所述第二终端创建握手对话时,所述第二终端以所述第一终端创建的握手对话的对话标识作为所述第二终端创建的握手对话的对话标识。
5.如权利要求3所述媒体旁路的方法,其特征在于,所述握手请求中包括第二终端创建的握手对话的对话标识和所述第二终端的IP地址,
所述与第一终端进行协商具体包括:
所述第一终端接收到所述握手请求后,判断所述握手请求中携带的所述第二终端创建的握手对话的对话标识与所述第一终端创建的握手对话的对话标识是否匹配;
如果匹配,则所述第一终端判断所述握手请求中携带的所述第二终端的IP地址与所述第一终端接收握手请求的源IP地址是否相同;
当所述第一终端确定所述握手请求中携带的所述第二终端的IP地址与所述第一终端接收握手请求的源IP地址相同时,所述第一终端确定与所述第二终端互通,向所述第二终端发送握手协商成功响应消息。
6.如权利要求1所述媒体旁路的方法,其特征在于,所述第一终端的信息包括所述第一终端的音频媒体端口信息和视频媒体端口信息,所述第二终端根据所述第一终端的音频媒体端口信息和视频媒体端口信息,与所述第一终端进行会话描述协议SDP协商,
所述第二终端根据所述信息中的第一终端地址和端口与所述第一终端进行媒体连接具体包括:
所述第二终端使用所述第一终端的IP地址,以及所述第一终端的音频媒体端口信息和视频媒体端口信息替换所述SDP协商结果中的对端IP地址,以及对端的音频媒体端口信息和视频媒体端口信息,进行媒体连接。
7.一种终端,其特征在于,包括:
信息获取模块,用于获取另一终端的信息;
所述另一终端的信息具体包括:
获取会话初始化协议SIP invite信令携带的另一终端的信息;
所述SIP invite信令包括:增加了探测信息和另一终端信息的Call-Info头域;
判断模块,用于在所述终端支持终端互通性探测时,根据所述信息获取模块接收的信息中的互通性探测标识确定所述另一终端是否支持终端互通性探测;
协商模块,用于当所述判断模块确定所述另一终端支持终端互通性探测时,根据所述信息中的所述另一终端地址和端口与所述另一终端进行协商;
媒体模块,用于在所述协商模块协商成功之后,根据所述协商后的另一终端地址和端口与所述另一终端进行媒体连接;
所述终端信息包括:对话标识、主叫终端IP地址、握手端口和媒体端口。
8.如权利要求7所述终端,其特征在于,所述判断模块包括:
信息检测子模块,用于判断所述信息中是否包含互通性探测标识;
互通确定子模块,用于在所述信息检测子模块确定所述信息中包含所述互通性探测标识时,确定所述另一终端支持终端互通性探测。
9.如权利要求7所述终端,其特征在于,所述信息获取模块具体用于获取SIP invite信令携带的另一终端的信息。
10.如权利要求9所述终端,其特征在于,还包括:
SDP协商模块,用于根据所述另一终端的音频媒体端口信息和视频媒体端口信息,与所述另一终端进行SDP协商,所述另一终端的音频媒体端口信息和视频媒体端口信息包含在所述另一终端的信息中。
11.如权利要求10所述终端,其特征在于,所述媒体模块具体用于使用所述另一终端的IP地址,以及所述另一终端的音频媒体端口信息和视频媒体端口信息替换所述SDP协商模块的协商结果中的对端IP地址,以及对端的音频媒体端口信息和视频媒体端口信息,进行媒体连接。
12.一种媒体旁路的系统,其特征在于,包括:
第一终端,用于发送所述第一终端的信息;
第二终端,用于获取所述第一终端的信息,在所述第二终端支持终端互通性探测时,根据所述信息中的互通性探测标识确定所述第一终端支持终端互通性探测之后,所述第二终端根据所述信息中的第一终端地址和端口与所述第一终端进行协商,在所述协商成功之后,第二终端根据所述协商后的第一终端地址和端口与所述第一终端进行媒体连接;
所述第二终端获取第一终端的信息具体包括:
所述第二终端获取会话初始化协议SIP invite信令携带的第一终端的信息;
所述SIP invite信令包括:增加了探测信息和第一终端信息的Call-Info头域;
所述第一终端信息包括:对话标识、主叫终端IP地址、握手端口和媒体端口。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810147154.8A CN101656715B (zh) | 2008-08-21 | 2008-08-21 | 一种媒体旁路的方法、系统和装置 |
PCT/CN2009/073307 WO2010020169A1 (zh) | 2008-08-21 | 2009-08-17 | 一种媒体旁路的方法、系统和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810147154.8A CN101656715B (zh) | 2008-08-21 | 2008-08-21 | 一种媒体旁路的方法、系统和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101656715A CN101656715A (zh) | 2010-02-24 |
CN101656715B true CN101656715B (zh) | 2013-04-17 |
Family
ID=41706865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810147154.8A Active CN101656715B (zh) | 2008-08-21 | 2008-08-21 | 一种媒体旁路的方法、系统和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101656715B (zh) |
WO (1) | WO2010020169A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624941A (zh) * | 2012-03-07 | 2012-08-01 | 华为技术有限公司 | 一种通信方法、控制装置及机器装置 |
CN104052675A (zh) * | 2013-03-13 | 2014-09-17 | 中国移动通信集团公司 | 实现sbc过载控制的方法、系统、sbc及as |
CN104243516B (zh) * | 2013-06-13 | 2018-02-02 | 阿里巴巴集团控股有限公司 | 终端的地理位置信息获取的方法、服务器、终端和系统 |
GB2520231B (en) * | 2013-07-23 | 2020-12-16 | Metaswitch Networks Ltd | Media sessions |
CN103414798B (zh) * | 2013-07-31 | 2016-04-13 | 中国联合网络通信集团有限公司 | 基于网络地址转换的通信方法、设备和系统 |
CN103685234B (zh) * | 2013-11-14 | 2017-06-13 | 大唐移动通信设备有限公司 | Ims媒体业务数据处理的方法及装置 |
CN105517095A (zh) * | 2014-09-25 | 2016-04-20 | 北京信威通信技术股份有限公司 | 一种会话边界控制器的中继路由方法 |
CN112398731B (zh) | 2019-08-15 | 2022-05-13 | 华为技术有限公司 | 一种处理报文的方法和第一网络设备 |
CN111756694B (zh) * | 2020-05-20 | 2022-06-24 | 珠海高凌信息科技股份有限公司 | 会话媒体动态处理方法、存储介质及服务器 |
CN114554274A (zh) * | 2020-11-25 | 2022-05-27 | 陕西重型汽车有限公司 | 一种基于WiFi的车载端投屏系统和方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217798A (zh) * | 2008-01-09 | 2008-07-09 | 中兴通讯股份有限公司 | 一种在ip多媒体子系统中控制本地转出的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645861A (zh) * | 2005-01-20 | 2005-07-27 | 武汉市中光通信公司 | 一种软交换网络穿越防火墙的方法 |
CN100596093C (zh) * | 2005-05-24 | 2010-03-24 | 华为技术有限公司 | 智能媒体流旁路的实现方法 |
US8432896B2 (en) * | 2005-07-22 | 2013-04-30 | Cisco Technology, Inc. | System and method for optimizing communications between session border controllers and endpoints in a network environment |
EP1821488B1 (en) * | 2006-02-15 | 2012-08-08 | Alcatel Lucent | Method and apparatus for providing session mobility |
CN101001185A (zh) * | 2006-06-28 | 2007-07-18 | 华为技术有限公司 | 多媒体呼叫的区分处理方法 |
CN101119270A (zh) * | 2007-09-14 | 2008-02-06 | 华中科技大学 | 网络边界处理方法 |
-
2008
- 2008-08-21 CN CN200810147154.8A patent/CN101656715B/zh active Active
-
2009
- 2009-08-17 WO PCT/CN2009/073307 patent/WO2010020169A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217798A (zh) * | 2008-01-09 | 2008-07-09 | 中兴通讯股份有限公司 | 一种在ip多媒体子系统中控制本地转出的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101656715A (zh) | 2010-02-24 |
WO2010020169A1 (zh) | 2010-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101656715B (zh) | 一种媒体旁路的方法、系统和装置 | |
CN100505864C (zh) | 一种多点视频会议系统及其媒体处理方法 | |
US8861510B1 (en) | Dynamic assignment of media proxy | |
US8861537B1 (en) | Bridge and control proxy for unified communication systems | |
US8073956B2 (en) | Multimedia communications using preferred devices | |
US20020147814A1 (en) | Multimedia devices over IP | |
US20060007864A1 (en) | Method and system of teleservice interworking of broadband heterogeneous networks | |
US9398160B2 (en) | Method and communication terminal for providing VoIP | |
US20070274236A1 (en) | Gateway apparatus and renegotiation method | |
US10506000B2 (en) | Mesh conferencing | |
CN104883344B (zh) | 协商媒体能力的方法和设备 | |
US20190089754A1 (en) | System and method for providing audio conference between heterogenious networks | |
US20060239251A1 (en) | Multi-user media client for communication devices | |
RU2740305C9 (ru) | Способ мультиплексирования порта и сервер в системе видеоконференций и машиночитаемый носитель информации | |
US20070127463A1 (en) | Method, apparatus, and computer program product for gatekeeper streaming | |
CN104320403B (zh) | 通信方法及装置 | |
US20100274909A1 (en) | Connection device and connection method | |
US20040133772A1 (en) | Firewall apparatus and method for voice over internet protocol | |
CN105516176A (zh) | 一种呼叫中心系统及其通信连接方法和装置 | |
WO2021017807A1 (zh) | 通话连接建立方法和第一终端、服务器及存储介质 | |
US20220391452A1 (en) | Method for conducting an audio and/or video conference | |
AU2003200825A1 (en) | Apparatus and method for compulsively receiving multi-calls over internet protocol phones in internet protocol telephony system | |
CN102546644B (zh) | 实现sip呼叫的方法、设备和系统 | |
WO2013097250A1 (zh) | 一种网络电话建立呼叫方法、装置和系统 | |
CN111542034B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |