CN100596093C - 智能媒体流旁路的实现方法 - Google Patents
智能媒体流旁路的实现方法 Download PDFInfo
- Publication number
- CN100596093C CN100596093C CN200510072101A CN200510072101A CN100596093C CN 100596093 C CN100596093 C CN 100596093C CN 200510072101 A CN200510072101 A CN 200510072101A CN 200510072101 A CN200510072101 A CN 200510072101A CN 100596093 C CN100596093 C CN 100596093C
- Authority
- CN
- China
- Prior art keywords
- address
- message
- terminal
- port
- proxy
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种智能媒体流旁路的实现方法,该方法主要包括:主叫终端和被叫终端通过代理设备分别获得对端的实际IP地址和端口;主叫终端和被叫终端根据获得的对端的实际IP地址和端口,进行媒体流旁路操作。利用本发明所述方法,可以自动地识别需要进行媒体流旁路的双方是否网络互通,并自动地实现媒体流旁路功能。
Description
技术领域
本发明涉及通信领域,尤其涉及一种智能媒体流旁路的实现方法。
背景技术
移动通信领域是近年来竞争最激烈的行业之一,电信运营商越来越需要差异性的业务来提高其竞争力,以软交换和分组交换技术为核心的NGN(下一代网络)技术,由于其具有广阔的应用前景和可以满足人们多样化、个性化的业务需求,已成为业界最关注的热点之一。流媒体是近年来兴起的一种网络多媒体形式。在流媒体技术支持下,在网络上传输视频和音频等多媒体信息由以往的下载方式发展为流式传输方式。
PROXY(代理)设备是NGN中的重要设备之一,对于NGN中的终端用户PROXY就是服务器,对于NGN中的核心服务器PROXY就是终端。PROXY在NGN网络中的典型组网模式示意图如图1所示。一般PROXY由信令代理及媒体代理组成:
1、信令代理(Signalling Proxy,简称SP)
PROXY中的信令代理处理的是终端用户的注册和呼叫等消息。终端用户的注册和呼叫等消息先被发送给PROXY,PROXY经过信令处理后转发给核心软交换***。核心软交换***进行相应的处理后,将收到的注册和呼叫等消息返回给PROXY,PROXY经过信令处理后再转发给真正的被叫用户。一般PROXY需要支持SIP(起始会话协议)、H.323、MGCP(媒体网关控制部分)、H.248等协议中的一种或多种代理功能。由于PROXY参与了整个信令处理流程,因此PROXY可以获取信令中相应的用户注册、呼叫等详细信息。
2、媒体代理(Media Proxy,简称MP)
PROXY也进行终端用户的视频和音频等媒体流的代理。PROXY所代理的所有终端用户与外界互通的媒体流都经过PROXY进行处理和转发。当PROXY下的终端用户作为主叫时,所看到的被叫为PROXY,主叫用户看到的被叫地址为PROXY的地址。
PROXY中的一个信令流以及媒体流的传输示意图如图2所示。
终端用户的信令流通过PROXY到服务器进行处理,同时媒体流也通过PROXY进行中转。
在现有技术中,已经出现了媒体流旁路技术。媒体流旁路技术就是终端用户的媒体流通过连接它们的网络进行传输,而不再经过Proxy设备进行处理。也就是媒体流直接在终端之间互通。终端用户进行媒体流旁路的示意图如图3所示。
现有技术中的媒体流旁路技术的主要特点为:在Proxy设备上,通过用户配置将终端1和终端2的用户标识配置在同一个媒体流旁路规则中,在终端1与终端2之间强制实现媒体流旁路规则。
所述现有技术中的媒体流旁路技术的缺点为:
1、需要事先获知进行媒体流旁路双方的用户标识。因此,在实现上增加了用户操作的困难,削弱了其在应用上的可操作性。
2、无法保证进行媒体流旁路双方之间的网络互通。由于终端用户设备与Proxy设备在网络上分离,在Proxy一端的终端用户设备有时无法保证与进行媒体流旁路的另一端的终端用户设备之间网络互通,所以,如果强制将它们配置为媒体流旁路,将导致两终端间信令交互成功,但媒体流传输失败。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种智能媒体流旁路的实现方法,可以自动地识别需要进行媒体流旁路的双方是否网络互通,并自动地实现媒体流旁路功能。
本发明的目的是通过以下技术方案实现的:
一种智能媒体流旁路的实现方法,包括:
A、在主叫终端或被叫终端发送的报文以上行的方向通过代理设备时,所述代理设备解析所述报文中IP报文首部获取所述主叫终端或被叫终端的源IP地址,解析应用层消息获取报文协议数据单元PDU中的所述主叫终端或被叫终端的实际IP地址和端口;所述代理设备将获取的所述主叫终端或被叫终端的实际IP地址和端口、源IP地址和代理设备为所述主叫终端或被叫终端发送的报文分配的上行口地址和端口保存在媒体流旁路表中;所述代理设备以所述上行口地址和端口替换所述主叫终端或被叫终端发送的报文PDU中终端的实际IP地址和端口,并将所述主叫终端或被叫终端发送的报文传送给服务器;
B、在所述服务器返回的报文以下行的方向通过代理设备时,所述代理设备以该报文PDU中描述的终端地址和端口为索引,查找所述媒体流旁路表,确认所述媒体流旁路表中存在相应记录项与该索引相同,并且所述报文中IP报文头中目的IP地址与所述相应记录项中记录的源IP地址相同时,所述代理设备取出所述相应记录项中记录的所述主叫终端或被叫终端的实际IP地址和端口,并用它们替换所述报文PDU中的源IP地址和端口,然后将该报文传送给对端的被叫终端或主叫终端。
所述的主叫终端和被叫终端是注册在同一个代理设备上。
所述代理设备确认主叫终端和被叫终端是位于同一个网址变换NAT设备下。
所述主叫终端发送的报文包括:主叫终端向被叫终端发送的包含业务数据点信息的呼叫报文;
所述被叫终端发送的报文包括:被叫终端向主叫终端发送的包含业务数据点信息的应答报文。
所述的步骤B还包括:
对端的被叫终端或主叫终端根据接收到的报文PDU中的源IP地址和端口,获取所述主叫终端或被叫终端的实际IP地址和端口。
所述的方法适用于下一代网络NGN。
由上述本发明提供的技术方案可以看出,本发明和现有技术相比,具有如下优点:本发明通过Proxy不修改信令报文中携带的终端媒体流地址信息,直接将原始的媒体流地址信息传递给通信对端,避免了用户去配置媒体流旁路规则,实现了终端用户自动地进行媒体流旁路的功能;本发明通过自动地识别需要进行媒体流旁路的双方是否网络互通,避免了强行将不能进行媒体流旁路的终端设置在一个媒体流旁路规则组中,而造成信令交互成功,媒体流传输失败的后果。
附图说明
图1为PROXY在NGN网络中的典型组网模式示意图;
图2为PROXY中的一个信令流以及媒体流的传输示意图;
图3为终端用户进行媒体流旁路的示意图;
图4为终端用户之间通过PROXY和服务器进行呼叫的示意图;
图5PROXY收到来自上行方向的呼叫报文时的具体处理流程图;
图6PROXY收到来自上行方向的呼叫报文时的具体处理流程图;
图7为本发明所述实施例中主叫侧的呼叫处理具体流程图;
图8为本发明所述实施例中被叫侧的呼叫处理具体流程图。
具体实施方式
本发明提供了一种智能媒体流旁路的实现方法。本发明的核心为:通过自动记录媒体流旁路表,Proxy不修改信令报文中携带的终端实际地址信息,直接将实际的终端地址信息传递给通信对端。
本发明适合在PROXY设备上实现,但不局限于专用的PROXY设备,也可以在其它具备PROXY功能的设备上实现本发明。同时,本发明要求进行媒体流旁路的通话双方都必须是在同一个PROXY设备上注册。
终端用户之间在进行媒体流旁路的时候,需要通过信令协议协商媒体流的地址。在有PROXY参与的情况下,PROXY会将终端用户的媒体流地址更改为PROXY的地址。因此实现媒体流旁路的关键是不修改终端用户在信令报文中携带的媒体流地址信息,直接将原始的媒体流地址信息传给通信对端。
终端用户之间通过PROXY和服务器进行呼叫的示意图如图4所示。图4中终端2为主叫,终端1为被叫。首先,终端2向终端1发送呼叫请求,该请求以上行方向流经PROXY设备到达服务器;然后,服务器将该呼叫请求转发给PROXY,以下行方向流经PROXY后到达终端1。接着,终端1向终端2返回呼叫响应,该呼叫响应以上行方向流经PROXY设备到达服务器;最后,服务器将该呼叫响应转发给PROXY,以下行方向流经PROXY后达到终端2。
在上述呼叫过程中,PROXY将分别收到来自上行方向和下行方向的呼叫报文,本发明在PROXY收到来自上行方向和下行方向的呼叫报文时,分别增加了一些处理过程,实现了将原始的媒体流地址信息传给通信对端。下面分别介绍PROXY在上行方向和下行方向处理报文的过程。
PROXY收到来自上行方向的呼叫报文时的具体处理流程图如图5所示。包括如下步骤:
步骤5-1、PROXY收到上行方向的呼叫报文。
PROXY设备收到发起呼叫的终端用户发送的上行方向的呼叫报文,即IP报文。
步骤5-2、解析IP报文,取出报文头源IP地址。
PROXY解析收到的上行报文中的IP报文首部,获取发送终端用户的源IP地址,即NAT(网址变换)设备网络侧地址。
步骤5-3、解析应用层报文,取出PDU中源IP地址和端口。
PROXY解析上行报文中的IP报文首部后,然后解析上行报文中应用层消息,获取PDU(协议数据单元)中PDU报文源IP地址和PDU报文源Port(端口),即发送终端真实的IP地址和端口。然后,PROXY设备会为该上行呼叫报文分配上行口地址和端口。
步骤5-4、获取PROXY设备分配的呼叫上行口地址和端口。
PROXY设备获取为该上行呼叫报文分配的上行口地址和端口,该地址和端口为PROXY转换代理IP地址和PROXY转换代理端口。
步骤5-5、将IP头源地址、PDU源IP地址和端口、PROXY上行口地址和端口写进媒体流旁路表中。
本发明需要在PROXY中记录一个媒体流旁路表,该媒体流旁路表中的项目及其含义如表1所示。
表1媒体流旁路表
当PROXY通过步骤5-2、5-3和5-4获取了源IP地址、终端真实IP地址、终端真实Port、PROXY转换代理IP地址和PROXY转换代理端口后,将它们分别填入表1所示的媒体流旁路表的相关项目中。
步骤5-6、将呼叫报文中PDU源IP地址和端口更改为PROXY上行口地址和端口。
PROXY处理流程将呼叫报文中PDU报文源IP地址、PDU报文源Port转换成PROXY分配的上行口地址和端口。
步骤5-7、继续呼叫处理。
PROXY将该呼叫报文发往服务器。
PROXY收到来自下行方向的呼叫报文时的具体处理流程图如图6所示。包括如下步骤:
步骤6-1、PROXY收到下行方向的呼叫报文。
PROXY设备收到服务器发送过来的下行方向的呼叫报文。
步骤6-2、解析应用层报文,取出PDU中源IP地址和端口。
PROXY设备收到服务器发送过来的下行方向的呼叫报文后,解析该下行方向的呼叫报文中应用层消息,获取该下行方向的报文中PDU中源IP地址和端口。
步骤6-3、判断是否已在媒体流旁路表中PROXY上行IP口IP地址和端口字段记录。
PROXY以获取的PDU中源IP地址和端口为索引,查找媒体流旁路表,判断是否存在表项的PROXY转换代理IP地址和PROXY转换代理端口和其值相同。如果存在,则记录查得的表项,然后执行步骤6-4;否则,执行步骤6-8。
步骤6-4、取出将下发的呼叫报文中IP报文头目的IP地址。
PROXY认为该呼叫报文来自同一PROXY设备下注册的另一终端,然后,PROXY再取出该呼叫报文中IP首部中的目的IP地址。
步骤6-5、判断该IP地址是否和上述媒体流旁路表项中IP报文头源IP地址相同。
PROXY以获取的目的IP地址为索引,查找所述记录的媒体流旁路表项,判断该表项中源IP地址项记录的值是否和其值相同。如果相同,则执行步骤6-6;否则,执行步骤6-8。
步骤6-6、取出上述媒体流旁路表项中PDU源IP地址和端口,并覆盖呼叫报文中PDU源IP地址和端口。
PROXY认为进行呼叫的两个终端是挂在同一个NAT设备底下,网络互通。既PROXY认为进行呼叫的两个终端满足媒体流旁路规则。于是,PROXY用上述媒体流旁路表项中终端真实IP地址和终端真实Port的值,替换呼叫报文PDU中的源IP地址和端口(此时其值为PROXY上行IP口IP地址和端口)。然后,执行步骤6-7。
步骤6-7、继续进行呼叫处理,并建立媒体流旁路。
PROXY将该呼叫报文发往接收终端。这样,接收终端根据该呼叫报文PDU中的源IP地址和端口,可以获得发送终端的真实IP地址和端口。接收终端根据获得的发送终端的真实IP地址和端口,可以和发送终端进行媒体流旁路操作。
步骤6-8、按普通呼叫进行处理。
如果不存在媒体流旁路表中表项的PROXY转换代理IP地址和PROXY转换代理端口和PROXY获取的PDU中源IP地址和端口相同,则PROXY认为呼叫的双方不在同一个NAT设备下,即呼叫的双方网络不通,按普通呼叫处理方式继续处理该呼叫。
为更好地描述本发明所述方法,本发明以SIP(起始会话协议)呼叫为例,提供了实现本发明所述方法的一个实施例,在该实施例中,主叫侧(SIP-UE1)的呼叫处理具体流程如图7所示,包括如下步骤:
步骤71、SIP-UE1向NAT设备发送Invite消息,该消息中IP层源地址I1,PDU源地址和端口为主叫终端的真实地址和端口(I1,P1)。
步骤72、NAT设备接收到Invite消息后,转换其IP源地址(R1操作),经过转换后的Invite消息其IP层源地址为I2,PDU地址和端口不变。
步骤73、PROXY设备接收到Invite消息后,转换其PDU地址和端口(R2操作),经过转换后的Invite消息其IP层源地址为I2,PDU地址和端口为(I4,P4)。同时,PROXY设备将(I2,I1,P1,I4,P4)作为参数填充到媒体流旁路表中。
步骤74、PROXY设备收到经过Server转发的来自对端的回应报文183,183消息的PDU地址和端口为(I4’,P4’)。PROXY以(I4’,P4’)为索引查找媒体流旁路表,查得记录(I2,I1’,P1’,I4’,P4’)。
于是,PROXY设备再观察183消息的IP层目的IP地址是否为I2。如果是,则PROXY设备从查得的媒体流旁路表项记录中取出(I1’,P1’)覆盖183消息的PDU源地址和端口(I4’,P4’)。
步骤75、PROXY设备将经过PDU源地址和端口转换后的183报文转发给NAT设备。
步骤76、NAT将接收到的183消息转发给SIP-UE1,此时,183消息中PDU源地址和端口为(I1’,P1’)。于是,主叫侧可以从接收到的183消息中,获得被叫侧真实地址和端口(I1’,P1’),根据该被叫侧真实地址和端口,主叫侧和被叫侧之间可以进行媒体流旁路操作。
在该实施例中,被叫侧(SIP-UE2)的呼叫处理具体流程如图8所示,包括如下步骤:
步骤81、Server将来自主叫的Invite消息转发给PROXY设备,其中Invite的PDU地址和端口为(I4,P4)(参见图7步骤73)。
步骤82、PROXY设备执行R1操作,以(I4,P4)为索引查找媒体流旁路表,查得记录(I2,I1,P1,I4,P4)。然后,PROXY设备再判断此Invite的目的IP地址是否为I2,如果是,则PROXY设备取出表项中(I1,P1)覆盖PDU源地址端口(I4,P4)。PROXY将新的Invite报文发送给NAT设备;
步骤83、NAT设备将接收到的Invite消息转发给SIP-UE2,该Invite消息中PDU地址和端口为(I1,P1),于是,被叫侧接收到该Invite消息后,可以获得主叫终端的真实地址和端口(I1,P1)。
步骤84、SIP-UE2在接收到主叫侧发起的Invite消息,获得主叫终端的真实地址和端口后,向主叫侧返回183消息,该消息中IP层源地址为I1’,PDU地址和端口为被叫终端的真实地址和端口(I1’,P1’)。
步骤85、NAT设备接收到183消息后,将其IP层地址更改为I2’(R3操作),PDU源地址和端口保持不变,然后将183消息转发给PROXY设备。
步骤86、PROXY设备收到183消息后,将其PDU源地址和端口更改为(I4’,P4’)(R4操作),记录媒体流旁路表(I2’,I1’,P1’,I4’,P4’),然后将该消息发送给Server。
至此,本发明所述方法的具体处理流程结束。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1、一种智能媒体流旁路的实现方法,其特征在于,包括:
A、在主叫终端或被叫终端发送的报文以上行的方向通过代理设备时,所述代理设备解析所述报文中IP报文首部获取所述主叫终端或被叫终端的源IP地址,解析应用层消息获取报文协议数据单元PDU中的所述主叫终端或被叫终端的实际IP地址和端口;所述代理设备将获取的所述主叫终端或被叫终端的实际IP地址和端口、源IP地址和代理设备为所述主叫终端或被叫终端发送的报文分配的上行口地址和端口保存在媒体流旁路表中;所述代理设备以所述上行口地址和端口替换所述主叫终端或被叫终端发送的报文PDU中终端的实际IP地址和端口,并将所述主叫终端或被叫终端发送的报文传送给服务器;
B、在所述服务器返回的报文以下行的方向通过代理设备时,所述代理设备以该报文PDU中描述的终端地址和端口为索引,查找所述媒体流旁路表,确认所述媒体流旁路表中存在相应记录项与该索引相同,并且所述报文中IP报文头中目的IP地址与所述相应记录项中记录的源IP地址相同时,所述代理设备取出所述相应记录项中记录的所述主叫终端或被叫终端的实际IP地址和端口,并用它们替换所述报文PDU中的源IP地址和端口,然后将该报文传送给对端的被叫终端或主叫终端。
2、根据权利要求1所述的智能媒体流旁路的实现方法,其特征在于,所述的主叫终端和被叫终端是注册在同一个代理设备上。
3、根据权利要求1或2所述的智能媒体流旁路的实现方法,其特征在于,所述代理设备确认主叫终端和被叫终端是位于同一个网址变换NAT设备下。
4、根据权利要求1所述智能媒体流旁路的实现方法,其特征在于:
所述主叫终端发送的报文包括:主叫终端向被叫终端发送的包含业务数据点信息的呼叫报文;
所述被叫终端发送的报文包括:被叫终端向主叫终端发送的包含业务数据点信息的应答报文。
5、根据权利要求1至4任一项所述的智能媒体流旁路的实现方法,其特征在于,所述的步骤B还包括:
对端的被叫终端或主叫终端根据接收到的报文PDU中的源IP地址和端口,获取所述主叫终端或被叫终端的实际IP地址和端口。
6、根据权利要求1所述智能媒体流旁路的实现方法,其特征在于,所述的方法适用于下一代网络NGN。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510072101A CN100596093C (zh) | 2005-05-24 | 2005-05-24 | 智能媒体流旁路的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510072101A CN100596093C (zh) | 2005-05-24 | 2005-05-24 | 智能媒体流旁路的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1870567A CN1870567A (zh) | 2006-11-29 |
CN100596093C true CN100596093C (zh) | 2010-03-24 |
Family
ID=37444119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510072101A Expired - Fee Related CN100596093C (zh) | 2005-05-24 | 2005-05-24 | 智能媒体流旁路的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100596093C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656715B (zh) * | 2008-08-21 | 2013-04-17 | 华为技术有限公司 | 一种媒体旁路的方法、***和装置 |
CN103139156B (zh) * | 2011-11-28 | 2016-09-07 | ***通信集团公司 | 一种媒体流旁路实现方法和设备 |
CN114978440B (zh) * | 2022-05-24 | 2023-09-12 | 北京立华莱康平台科技有限公司 | 用于网络导通的数据处理方法和装置 |
-
2005
- 2005-05-24 CN CN200510072101A patent/CN100596093C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1870567A (zh) | 2006-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8625578B2 (en) | Access independent common architecture for real-time communications services for networking environments | |
Hamdi et al. | Voice service interworking for PSTN and IP networks | |
CN1972254B (zh) | 终端之间语音和多媒体的互动服务的装置和方法 | |
EP2150013A1 (en) | System, equipment and method for implementing special calling services | |
US8605648B2 (en) | Video traffic in a communications system | |
AU2005200060A1 (en) | Managing routing path of voice over internet protocol (VoIP) system | |
US20100135280A1 (en) | Telecommunications system and telecommunications management apparatus | |
US7496088B2 (en) | Method for establishing a call in a telecommunications network; telecommunications network; and controlling device for packet networks | |
CN101257435B (zh) | 基于nat-pt的sip应用层网关的实现方法 | |
CN105516176A (zh) | 一种呼叫中心***及其通信连接方法和装置 | |
JP3664909B2 (ja) | ゲートウェイ、通信システム及び通信方法 | |
CN101631084A (zh) | 实现媒体控制流报文穿越网络地址转换器的方法及*** | |
US20060233159A1 (en) | Method and apparatus for enabling dynamic protocol interworking resolution with diverse endpoints | |
CN100596093C (zh) | 智能媒体流旁路的实现方法 | |
CN101273609A (zh) | 电话呼叫处理方法和装置 | |
US20070286161A1 (en) | Method and apparatus for establishing class of service across peering communication networks | |
EP2015592B1 (en) | Realizing a multimedia call service | |
CN1889610B (zh) | 大容量分布式信令处理设备及其方法 | |
JP5140792B2 (ja) | 共有された市内電話中継方式を支援するための方法、及びシステム | |
EP4113930A1 (en) | Method and communication system for transmitting signaling information used for establishing a communication session between a calling end device and a called end device | |
CN100499708C (zh) | 慢速呼叫终端播放个性化回铃音的方法 | |
KR100382146B1 (ko) | 인터넷 음성 처리를 위한 공중 전화망과 인터넷 망 간의연동 처리 시스템 및 그 방법 | |
KR20050053919A (ko) | 번호 이동성을 제공하는 VoIP 및 공중 전화 통합서비스 시스템 및 그 방법 | |
KR20060061480A (ko) | 이기종 망에서의 화상전화 연동 시스템 및 그 방법 | |
CN100459542C (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100324 Termination date: 20130524 |