CN117615023B - 跨网络边界的传输方法、电子设备和计算机可读存储介质 - Google Patents
跨网络边界的传输方法、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117615023B CN117615023B CN202410100078.4A CN202410100078A CN117615023B CN 117615023 B CN117615023 B CN 117615023B CN 202410100078 A CN202410100078 A CN 202410100078A CN 117615023 B CN117615023 B CN 117615023B
- Authority
- CN
- China
- Prior art keywords
- media
- port
- signaling
- proxy
- source identifier
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000005540 biological transmission Effects 0.000 title claims abstract description 28
- 230000011664 signaling Effects 0.000 claims abstract description 187
- 238000013507 mapping Methods 0.000 claims abstract description 60
- 230000000977 initiatory effect Effects 0.000 claims abstract description 13
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000003993 interaction Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种跨网络边界的传输方法、电子设备和计算机可读存储介质,该方法包括:响应于信令代理得到请求方的请求信令,确定请求信令匹配的信源标识符,将信源标识符发送至媒体代理,获取媒体代理为信源标识符分配的媒体代理端口;将请求信令转发至被请求方并获取反馈信息,将反馈信息转发至请求方;请求方和被请求方在客户端和服务端之间切换,在转发请求信令和反馈信息时,将客户端与媒体代理在网络边界匹配的端口修改为固定媒体端口,媒体代理保存有客户端、信源标识符及其对应的媒体代理端口之间的映射关系;响应于请求方发起媒体流,基于固定媒体端口和映射关系将媒体流传输至被请求方。本申请能够减少网络边界的端口资源的开销。
Description
技术领域
本申请涉及信息交互技术领域,特别是涉及一种跨网络边界的传输方法、电子设备和计算机可读存储介质。
背景技术
随着信息交互时的安全性得到重视,客户端和服务端之间跨网络边界进行信息交互的应用愈发广泛。但在现有技术中,数据在跨网络边界传输时需要在网络边界维护与客户端匹配的端口,随着客户端数量的增加,对于网络边界的端口资源的需求也会随之增加,但受限于网络条件,网络边界的端口资源是有限的,因此,如何减少网络边界的端口资源的开销成为了亟待解决的问题。
发明内容
本申请主要解决的技术问题是提供一种跨网络边界的传输方法、电子设备和计算机可读存储介质,能够减少网络边界的端口资源的开销。
为解决上述技术问题,本申请第一方面提供一种跨网络边界的传输方法,该方法包括:响应于信令代理得到请求方的请求信令,确定所述请求信令匹配的信源标识符,将所述信源标识符发送至媒体代理,获取媒体代理为所述信源标识符分配的媒体代理端口;将所述请求信令转发至被请求方并获取所述被请求方响应所述请求信令的反馈信息,将所述反馈信息转发至所述请求方;其中,所述请求方和所述被请求方在客户端和服务端之间切换,在转发所述请求信令和所述反馈信息时,将所述客户端与所述媒体代理在网络边界匹配的端口修改为固定媒体端口,所述媒体代理保存有所述客户端、所述信源标识符及其对应的媒体代理端口之间的映射关系;响应于所述请求方发起媒体流,基于所述固定媒体端口和所述映射关系将所述媒体流传输至所述被请求方。
为解决上述技术问题,本申请第二方面提供一种电子设备,该电子设备包括:相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行上述第一方面所述的方法。
为解决上述技术问题,本申请第三方面提供一种计算机可读存储介质,其上存储有程序数据,所述程序数据被处理器执行时实现上述第一方面所述的方法。
上述方案,当信令代理得到请求方的请求信令后,确定本次请求信令匹配的信源标识符,将信源标识符发送至媒体代理,获取媒体代理接收到信源标识符后为信源标识符分配的媒体代理端口,将请求信令转发至请求方,从而在被请求方响应请求信令后获取被请求方的反馈信息,将得到的反馈信息转发至请求方。其中,请求方为客户端则被请求方为服务端,请求端为服务端则被请求方为客户端,在请求信令转发至被请求方以及反馈信息转发至请求方的过程中,客户端与媒体代理在网络边界匹配的端口被修改为固定媒体端口,从而在网络边界处只开放固定媒体端口,将客户端对应在网络边界的媒体端口限定为固定媒体端口,大幅减少网络边界的端口资源的开销,而媒体代理保存有客户端、信源标识符及其对应的媒体代理端口之间的映射关系,当数据通过固定媒体端口跨过网络边界后,仍能够利用媒体代理基于映射关系将数据在媒体代理端口分流。故此,当请求方发起媒体流时,请求方发起的媒体流能够在网络边界的固定媒体端口融合,基于映射关系能够准确地将媒体流传输至被请求方,并且媒体流在媒体代理端口实现分流,能够提高数据传输的可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请跨网络边界的传输方法一实施方式的流程示意图;
图2是本申请跨网络边界的传输方法一实施方式的应用场景示意图;
图3是本申请跨网络边界的传输方法另一实施方式的流程示意图;
图4是本申请程序表述头一实施方式的应用场景示意图;
图5是本申请电子设备一实施方式的结构示意图;
图6是本申请计算机可读存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“***”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
本申请所提供的跨网络边界的传输方法需要调用网络边界处的信令代理和媒体代理,其对应的执行主体为能够调用网络边界处的信令代理和媒体代理的处理终端。
需要说明的是,本申请至少可以采用softphone作为客户端,采用FreeSwitch作为服务端,使用开源工具OpenSIPS作为信令代理、使用MediaProxy作为媒体代理,本申请所对应的实施场景至少包括基于用户数据报协议(User Datagram Protocol,UDP)实现的会话初始协议(Session initialization Protocol,SIP)通信,在其他通过会话进行信息交互的实施场景中,客户端、服务端、信令代理和媒体代理均可以适配设置,本申请对此不做具体限制。
请参阅图1和图2,图1是本申请跨网络边界的传输方法一实施方式的流程示意图,图2是本申请跨网络边界的传输方法一实施方式的应用场景示意图,该方法包括:
S101:响应于信令代理得到请求方的请求信令,确定请求信令匹配的信源标识符,将信源标识符发送至媒体代理,获取媒体代理为信源标识符分配的媒体代理端口。
具体地,当信令代理得到请求方的请求信令后,确定本次请求信令匹配的信源标识符,将信源标识符发送至媒体代理,获取媒体代理接收到信源标识符后为信源标识符分配的媒体代理端口。
需要说明的是,图2中虚线箭头表示信令和反馈信息的流向,实线箭头表示媒体流的流向,请求方为客户端则被请求方为服务端,请求端为服务端则被请求方为客户端。其中,请求信令的会话描述信息可以包括信源标识符,当请求信令的会话描述信息包括信源标识符时,则提取请求信令携带的信源标识符作为请求信令匹配的信源标识符,会话描述信息包括基于会话描述协议(Session Description Protocol,SDP)传输的信息。
可选地,当请求信令的会话描述信息未包括信源标识符时,利用信令代理生成请求信令匹配的信源标识符。
在一应用方式中,当请求信令的会话描述信息未包括信源标识符时,获取信令代理缓存的信源标识符,生成区别于所有缓存的信源标识符的目标信源标识符,将目标信源标识符作为请求信令匹配的信源标识符。
在另一应用方式中,信令代理在缓存信源标识符后,基于最新缓存的信源标识符和添加值,生成候选信源标识符,其中,添加值可用随机生成或设为固定值,当请求信令的会话描述信息未包括信源标识符时,将候选信源标识符作为请求信令匹配的信源标识符。
在一应用场景中,请参阅图2,当请求方为客户端时,请求信令发送至网络边界的固定信令端口,从固定信令端口透传至信令代理。
在另一应用场景中,请参阅图2,当请求方为服务端时,请求信令直接发送至信令代理。
进一步地,将信源标识符发送至媒体代理,当媒体代理响应后,获取媒体代理为信源标识符分配的媒体代理端口。
在一应用方式中,将信源标识符发至媒体代理,获取媒体代理从媒体代理端口池中随机选择的空闲的媒体代理端口,得到媒体代理为信源标识符分配的媒体代理端口。
在另一应用方式中,将信源标识符发至媒体代理,获取媒体代理从媒体代理端口池中按端口编号次序选择的空闲的媒体代理端口,得到媒体代理为信源标识符分配的媒体代理端口。
需要说明的是,请求信令匹配一种类型的媒体流,媒体流可以是视频流也可以是音频流。故此,当客户端与服务端之间存在视频流和音频流的交互时,客户端和服务端之间对应有两个相互区别的信源标识符,分别匹配视频流和音频流,每个信源标识符分配有对应的媒体代理端口。
S102:将请求信令转发至被请求方并获取被请求方响应请求信令的反馈信息,将反馈信息转发至请求方;其中,请求方和被请求方在客户端和服务端之间切换,在转发请求信令和反馈信息时,将客户端与媒体代理在网络边界匹配的端口修改为固定媒体端口,媒体代理保存有客户端、信源标识符及其对应的媒体代理端口之间的映射关系。
具体地,将请求信令转发至请求方,从而在被请求方响应请求信令后获取被请求方的反馈信息,将得到的反馈信息转发至请求方。其中,请求方为客户端则被请求方为服务端,请求端为服务端则被请求方为客户端。
需要说明的是,在请求信令转发至被请求方以及反馈信息转发至请求方的过程中,客户端与媒体代理在网络边界匹配的端口被修改为固定媒体端口,从而在网络边界处只开放固定媒体端口,将客户端对应在网络边界的媒体端口限定为固定媒体端口,大幅减少网络边界的端口资源的开销,而媒体代理保存有客户端、信源标识符及其对应的媒体代理端口之间的映射关系,当数据通过固定媒体端口跨过网络边界后,仍能够利用媒体代理基于映射关系将数据在媒体代理端口分流。
在一应用方式中,将请求信令转发至被请求方,其中,被请求方响应请求信令后生成反馈码,反馈码用于指示是否接受请求,反馈信息包括反馈码,当反馈码表示接受请求时,将反馈码转发至请求方。
需要说明的是,当请求方为客户端时,被请求方生成反馈码,将反馈码转发至请求方时将固定媒体端口一同转发至请求方。当请求方为服务端时,请求信令中的会话描述信息所携带的端口值被修改为固定媒体端口,并转发至被请求方。
在另一应用方式中,将请求信令转发至被请求方,其中,被请求方响应请求信令后生成反馈信令,反馈信令包括会话描述信息,将反馈信令转发至请求方。
需要说明的是,当请求方为客户端时,被请求方生成反馈信令,将反馈信令中的会话描述信息所携带的端口值被修改为固定媒体端口从而转发至请求方。当请求方为服务端时,请求信令中的会话描述信息所携带的端口值被修改为固定媒体端口,并转发至被请求方。
可以理解的是,客户端可以在请求信令和反馈信息的转发过程中,得到固定媒体端口,媒体代理将客户端、信源标识符及其对应的媒体代理端口之间的映射关系进行保存。
S103:响应于请求方发起媒体流,基于固定媒体端口和映射关系将媒体流传输至被请求方。
具体地,当请求方发起媒体流时,请求方发起的媒体流能够在网络边界的固定媒体端口融合,基于映射关系能够准确地将媒体流传输至被请求方,并且媒体流在媒体代理端口实现分流,能够提高数据传输的可靠性。
在一应用方式中,当请求方发起媒体流时,将媒体流在固定媒体端口融合,并利用映射关系将融合后的媒体流批量分发,从而传输至被请求方。
在另一应用方式中,当请求方发起媒体流时,将媒体流在固定媒体端口融合,并利用映射关系将融合后的媒体流依次逐个分发,从而传输至被请求方。
可以理解的是,如图2所示,请求方可以是客户端也可以是服务端,媒体流的传输过程可以是只由客户端向服务端发起媒体流,媒体流的传输过程也可以是由客户端先向服务端发起媒体流后,再由服务端向客户端发起媒体流,其中,客户端部署在外网,服务端部署在内网。
在一应用场景中,当请求方为客户端时,客户端的媒体流均发送至固定媒体端口,获取客户端发送至固定媒体端口的媒体流,基于映射关系将媒体流分发至对应的媒体代理端口,从而传输至服务端的内网媒体端口,实现跨网络边界从外网向内网进行数据传输的过程,且网络边界处只需要开放固定媒体端口。
在另一应用场景中,当请求方为服务端时,服务端的码流从内网媒体端口发出,获取从内网媒体端口对应的媒体代理端口接收到的媒体流,将媒体代理端口接收到的媒体流在固定媒体端口融合,基于映射关系,将固定媒体端口的媒体流分发至对应的客户端,实现跨网络边界从内网向外网进行数据传输的过程,且网络边界处只需要开放固定媒体端口。
需要说明的是,当在基于UDP实现的SIP通信的场景下,信源标识符为同步信源标识符SSRC,固定媒体端口具体包括实时传输协议(Real-time Transport Protocol,RTP)端口和实时传输控制协议(Real-time Transport Control Protocol,RTCP)端口。故此,网络边界处开放的端口可以为固定的三个端口,而不会随着客户端的增加而增加,从而节约网络边界的端口资源的开销。
上述方案,当信令代理得到请求方的请求信令后,确定本次请求信令匹配的信源标识符,将信源标识符发送至媒体代理,获取媒体代理接收到信源标识符后为信源标识符分配的媒体代理端口,将请求信令转发至请求方,从而在被请求方响应请求信令后获取被请求方的反馈信息,将得到的反馈信息转发至请求方。其中,请求方为客户端则被请求方为服务端,请求端为服务端则被请求方为客户端,在请求信令转发至被请求方以及反馈信息转发至请求方的过程中,客户端与媒体代理在网络边界匹配的端口被修改为固定媒体端口,从而在网络边界处只开放固定媒体端口,将客户端对应在网络边界的媒体端口限定为固定媒体端口,大幅减少网络边界的端口资源的开销,而媒体代理保存有客户端、信源标识符及其对应的媒体代理端口之间的映射关系,当数据通过固定媒体端口跨过网络边界后,仍能够利用媒体代理基于映射关系将数据在媒体代理端口分流。故此,当请求方发起媒体流时,请求方发起的媒体流能够在网络边界的固定媒体端口融合,基于映射关系能够准确地将媒体流传输至被请求方,并且媒体流在媒体代理端口实现分流,能够提高数据传输的可靠性。
请参阅图2和图3,图3是本申请跨网络边界的传输方法另一实施方式的流程示意图,该方法包括:
S301:响应于信令代理得到请求方的请求信令,确定请求信令匹配的信源标识符,将信源标识符发送至媒体代理,获取媒体代理为信源标识符分配的媒体代理端口。
具体地,当信令代理得到请求方的请求信令,获取与请求信令相匹配的信源标识符,将信源标识符发送至媒体代理从而请求与媒体代理创建会话,获取媒体代理响应后为信源标识符分配的媒体代理端口。
在一应用方式中,基于请求信令中的会话描述信息针对信源标识符的描述,确定请求信令匹配的信源标识符;向媒体代理发起会话请求并将信源标识符发送至媒体代理,获取媒体代理响应会话请求后为信源标识符分配的媒体代理端口。
具体地,获取请求信令中的会话描述信息,确定会话描述信息针对信源标识符的描述,当会话描述信息包括信源标识符时,将会话描述信息包括的信源标识符作为请求信令匹配的信源标识符,当会话描述信息未包括信源标识符时,则从信令代理获取信源标识符作为请求信令匹配的信源标识符,从而确保请求信令获取到匹配的信源标识符且信源标识符具备唯一性,其中,信令代理维护有区别于已建立会话的请求信令匹配的信源标识符。
进一步地,向媒体代理发起会话请求并将请求信令匹配的信源标识符发送至媒体代理,媒体代理响应会话请求后为信源标识符分配对应的媒体代理端口,从而获取信源标识符匹配的媒体代理端口,使信源标识符与分配的媒体代理端口相绑定,从而最终用于建立映射关系。
可选地,将信源标识符与请求方的地址及端口绑定,从而缓存在媒体代理,以便于后续媒体代理与请求方之间媒体流的解析和转发更加准确。
可以理解的是,请求方为客户端则被请求方为服务端,请求端为服务端则被请求方为客户端,客户端部署在外网,服务端部署在内网。
在一应用场景中,基于请求信令中的会话描述信息针对信源标识符的描述,确定请求信令匹配的信源标识符之后,还包括:基于请求方和请求信令中的会话描述信息,确定请求信令的网络流向,利用网络流向和信源标识符,生成程序表述头;其中,程序表述头包括与网络流向相匹配的网络标识位和网络标识符;向媒体代理发起会话请求并将信源标识符发送至媒体代理,获取媒体代理响应会话请求后为信源标识符分配的媒体代理端口,包括:向媒体代理发起会话请求并将程序表述头发送至媒体代理,获取媒体代理响应会话请求并解析程序表述头后,从媒体代理端口池为信源标识符分配的媒体代理端口。
具体地,解析请求方和会话描述信息从而确定请求信令的网络流向是由外网向内网还是由内网向外网,利用网络流向和信源标识符共同生成程序表述头,使程序表述头能够明确指示网络流向,且包含请求信令所匹配的信源标识符。
进一步地,请参阅图4,图4是本申请程序表述头一实施方式的应用场景示意图,程序表述头中包括与网络流向相匹配的网络标识位,也即图4中所示的请求方标识位和被请求方标识位,程序表述头中包括设置在网络标识位上的网络标识符,也即图4中所示的字符1和字符2。因此,内网和外网分别匹配的网络标识符与网络标识位结合后即可准确指示网络流向,以便于媒体代理能够确定请求信令来自内网还是外网。此外,程序表述头还包括头字段名和信源标识符,其中,图4所示的信源标识符和网络标识符之间的位置排布,以及网络标识符的具体表示方式,在其他场景中均可以自定义设置,本申请对此不做具体限制。
可以理解的是,当得到程序表述头后即可向媒体代理发起会话请求并将程序表述头发送至媒体代理,媒体代理对相应的字段进行解析后响应会话请求,从媒体代理端口池中选择为信源标识符分配的媒体代理端口,从而得到信源标识符匹配的媒体代理端口,使媒体代理在信令传输的过程中能够明确网络流向,从而为信源标识符分配与网络流向更加适配的媒体代理端口。
S302:将请求信令转发至被请求方并获取被请求方响应请求信令的反馈信息,将反馈信息转发至请求方;其中,请求方和被请求方在客户端和服务端之间切换,在转发请求信令和反馈信息时,将客户端与媒体代理在网络边界匹配的端口修改为固定媒体端口,媒体代理保存有客户端、信源标识符及其对应的媒体代理端口之间的映射关系。
具体地,将请求信令转发至请求方,获取被请求方响应的反馈信息,将得到的反馈信息转发至请求方,在请求信令和反馈信息转发的过程中将客户端与媒体代理在网络边界匹配的端口修改为固定媒体端口,并且将客户端、信源标识符及其对应的媒体代理端口之间的映射关系保存在媒体代理。
在一应用场景中,当请求方为客户端时,将请求信令转发至被请求方并获取被请求方响应请求信令的反馈信息,将反馈信息转发至请求方,包括:利用信源标识符对应的媒体代理端口,修改请求信令中的会话描述信息所携带的端口值,并将修改后的请求信令转发至服务端;其中,服务端响应请求信令生成第一反馈码和第一反馈信令,反馈信息包括第一反馈码和第一反馈信令;利用固定媒体端口,修改第一反馈信令中的会话描述信息所携带的端口值,并将修改后的第一反馈信令和第一反馈码转发至客户端。
具体地,当请求信令由客户端发起时,得到媒体代理为信源标识符分配的媒体代理端口后,将请求信令中的会话描述信息所携带的端口值修改为信源标识符分配的媒体代理端口,并将修改后的请求信令转发至服务端,以便服务端能够配置与媒体代理端口相匹配的内网媒体端口,从而能够实现媒体代理与服务端之间的媒体交互。其中,服务端响应请求信令生成的反馈信息包括第一反馈码和第一反馈信令,第一反馈码基于会话协议生成,用于标识请求信令成功响应,第一反馈信令包括会话描述信息。
进一步地,将第一反馈信令中的会话描述信息所携带的端口值修改为固定媒体端口,并将修改后的第一反馈信令和第一反馈码转发至客户端,以便客户端收到第一反馈信令和第一反馈码后确认会话建立成功,并且后续将媒体流发送至网络边界的固定媒体端口,从而有效减少跨网络边界进行信息交互时网络边界开放的端口的数量。
在另一应用场景中,当请求方为服务端时,将请求信令转发至被请求方并获取被请求方响应请求信令的反馈信息,将反馈信息转发至请求方,包括:利用固定媒体端口,修改请求信令中的会话描述信息所携带的端口值,并将修改后的请求信令转发至客户端;其中,客户端响应请求信令生成第二反馈码和第二反馈信令,反馈信息包括第二反馈码和第二反馈信令;利用信源标识符对应的媒体代理端口,修改第二反馈信令中的会话描述信息所携带的端口值,并将修改后的第二反馈信令和第二反馈码转发至服务端。
具体地,当请求信令由服务端发起时,得到媒体代理为信源标识符分配的媒体代理端口后,将请求信令中的会话描述信息所携带的端口值修改为固定媒体端口,并将修改后的请求信令转发至客户端,以便客户端收到修改后的请求信令后能够解析得到固定媒体端口,后续将媒体流发送至网络边界的固定媒体端口,从而有效减少跨网络边界进行信息交互时网络边界开放的端口的数量。其中,客户端响应请求信令生成的反馈信息包括第二反馈码和第二反馈信令,第二反馈码基于会话协议生成,用于标识请求信令成功响应,第二反馈信令包括会话描述信息。
进一步地,将第二反馈信令中的会话描述信息所携带的端口值修改为信源标识符对应的媒体代理端口,并将修改后的第二反馈信令和第二反馈码转发至服务端,以便服务端能够配置与媒体代理端口相匹配的内网媒体端口,从而能够实现媒体代理与服务端之间的媒体交互。
需要说明的是,客户端需要先向服务端通过注册信令进行注册,注册完成之后,当服务端为请求方时,服务端能够利用注册地址信息,通过信令代理向客户端发送请求信令。
可以理解的是,无论请求方是客户端还是服务端,通过请求信令和反馈信息的转发,均可以使客户端与媒体代理在网络边界匹配的端口修改为固定媒体端口,且服务端可以配置与媒体代理端口相匹配的内网媒体端口。故此,媒体代理能够保存客户端、信源标识符及其对应的媒体代理端口之间的映射关系,从而通过信源标识符能够区分不同的映射关系,并且基于映射关系可以对媒体流进行精准传输。
S303:响应于请求方发起媒体流,基于固定媒体端口和映射关系将媒体流传输至被请求方。
具体地,当请求方发起媒体流时,请求方发起的媒体流能够在网络边界的固定媒体端口融合,基于映射关系能够准确地将媒体流传输至被请求方,并且媒体流在媒体代理端口实现分流。
在一应用场景中,当请求方为至少一个客户端时,基于固定媒体端口和映射关系将媒体流传输至被请求方,包括:获取每个客户端上传至固定媒体端口的第一媒体流;其中,第一媒体流携带有客户端匹配的信源标识符;从媒体代理保存的所有映射关系中,确定第一媒体流携带的信源标识符匹配的第一目标映射关系;利用第一目标映射关系将第一媒体流分发至第一媒体流携带的信源标识符对应的媒体代理端口;其中,媒体代理端口将第一媒体流传输至服务端上对应的内网媒体端口。
具体地,多个客户端可以并行向服务端传输第一媒体流,客户端与媒体代理在网络边界匹配的端口统一修改为固定媒体端口,获取每个客户端上传至固定媒体端口的第一媒体流,从而在固定媒体端口融合不同客户端的第一媒体流。其中,第一媒体流携带有客户端匹配的信源标识符,客户端匹配的信源标识符即为与该客户端相关的请求信令所匹配的信源标识符。
进一步地,从媒体代理保存的所有映射关系中,查找第一媒体流携带的信源标识符匹配的映射关系,作为第一目标映射关系,利用第一目标映射关系将第一媒体流分发至第一媒体流携带的信源标识符对应的媒体代理端口,从而在媒体代理端口实现分流,媒体代理端口将第一媒体流传输至服务端上对应的内网媒体端口。故此,服务端对于网络边界的固定媒体端口无感知,服务端仍能够基于常规的通信方式进行媒体流交互,提高客户端向服务端传输媒体流时传输方式的通用性。
可以理解的是,当多个客户端向服务端传输媒体流后,若服务端无需向部分客户端反馈媒体流,则对应的客户端与服务端之间的媒体流传输过程为单向传输,若服务端需要向部分客户端反馈媒体流,则对应的客户端与服务端之间的媒体流传输过程为双向传输。
可选地,当服务端得到客户端的第一媒体流后,向至少一个客户端发起第二媒体流时,基于固定媒体端口和映射关系将媒体流传输至被请求方,包括:获取从服务端的内网媒体端口传输至媒体代理端口的第二媒体流;从媒体代理保存的所有映射关系中,确定收到第二媒体流的媒体代理端口对应的第二目标映射关系;利用固定媒体端口将媒体流传输至与第二目标映射关系匹配的客户端。
具体地,服务端向客户端反馈的第二媒体流从服务端的内网媒体端口发出,获取传输至媒体代理端口的第二媒体流,从媒体代理保存的所有映射关系中查找收到第二媒体流的媒体代理端口所匹配的映射关系,作为第二目标映射关系,将媒体代理端口收到的第二媒体流在网络边界的固定媒体端口融合,从而利用固定媒体端口将媒体流传输至与第二目标映射关系匹配的客户端,以便在固定媒体端口按照第二映射关系的链路实现第二媒体流分流,并准确传输至对应的客户端,实现客户端与服务端之间的媒体流进行双向传输。
S304:基于客户端的地址及端口、固定媒体端口和服务端的地址及端口,生成媒体流对应的转发规则,将转发规则下发至***内核。
具体地,利用客户端的地址及端口、网络边界的固定媒体端口以及服务端的地址及端口,生成客户端和服务端之间媒体流对应的转发规则,将转发规则下发至***内核,从而后续完全通过***内核来处理该会话的媒体流转发,而媒体代理中针对该会话的媒体流转发则终止,从而提高多路并发时媒体流的转发效率。
在一应用场景中,***具体为Linux***,解析媒体流的源地址端口及目的地址端口,得到客户端的地址及端口以及服务端的地址及端口,基于客户端的地址及端口、固定媒体端口和服务端的地址及端口,生成从客户端到固定媒体端口至服务端,以及从服务端到固定媒体端口至客户端的转发规则,调用***iptables命令将转发规则下发至***内核,从而在经过会话前期的媒体流转发后,后续完全通过***内核来处理该会话的媒体流转发。
区别于上述实施例,利用网络流向和信源标识符共同生成程序表述头,使媒体代理在信令传输的过程中能够明确网络流向,从而为信源标识符分配与网络流向更加适配的媒体代理端口,无论请求方是客户端还是服务端,通过请求信令和反馈信息的转发,均可以使客户端与媒体代理在网络边界匹配的端口修改为固定媒体端口,且服务端可以配置与媒体代理端口相匹配的内网媒体端口。故此,媒体代理能够保存客户端、信源标识符及其对应的媒体代理端口之间的映射关系,从而通过信源标识符能够区分不同的映射关系,并且基于映射关系可以对媒体流进行精准传输,在经过会话前期的媒体流转发后利用客户端的地址及端口、网络边界的固定媒体端口以及服务端的地址及端口,生成客户端和服务端之间媒体流对应的转发规则,将转发规则下发至***内核,从而后续完全通过***内核来处理该会话的媒体流转发,提高多路并发时媒体流的转发效率。
请参阅图5,图5是本申请电子设备一实施方式的结构示意图,该电子设备50包括相互耦接的存储器501和处理器502,其中,存储器501存储有程序数据(图未示),处理器502调用程序数据以实现上述任一实施例中的方法,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
请参阅图6,图6是本申请计算机可读存储介质一实施方式的结构示意图,该计算机可读存储介质60存储有程序数据600,该程序数据600被处理器执行时实现上述任一实施例中的方法,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
需要说明的是,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种跨网络边界的传输方法,其特征在于,所述方法包括:
响应于信令代理得到请求方的请求信令,确定所述请求信令匹配的信源标识符,将所述信源标识符发送至媒体代理,获取媒体代理为所述信源标识符分配的媒体代理端口;
将所述请求信令转发至被请求方并获取所述被请求方响应所述请求信令的反馈信息,将所述反馈信息转发至所述请求方;其中,所述请求方和所述被请求方在客户端和服务端之间切换,在转发所述请求信令和所述反馈信息时,将所述客户端与所述媒体代理在网络边界匹配的端口修改为固定媒体端口,所述媒体代理保存有所述客户端、所述信源标识符及其对应的媒体代理端口之间的映射关系,当所述请求方为客户端时,将所述请求信令中的端口值修改为所述信源标识符对应的媒体代理端口,服务端响应所述请求信令生成第一反馈信令,将所述第一反馈信令中的端口值修改为所述固定媒体端口,当所述请求方为服务端时,将所述请求信令中的端口值修改为所述固定媒体端口,客户端响应所述请求信令生成第二反馈信令,将所述第二反馈信令中的端口值修改为所述信源标识符对应的媒体代理端口;
响应于所述请求方发起媒体流,基于所述固定媒体端口和所述映射关系将所述媒体流传输至所述被请求方。
2.根据权利要求1所述的方法,其特征在于,所述确定所述请求信令匹配的信源标识符,将所述信源标识符发送至媒体代理,获取媒体代理为所述信源标识符分配的媒体代理端口,包括:
基于所述请求信令中的会话描述信息针对信源标识符的描述,确定所述请求信令匹配的信源标识符;
向所述媒体代理发起会话请求并将所述信源标识符发送至媒体代理,获取所述媒体代理响应所述会话请求后为所述信源标识符分配的媒体代理端口。
3.根据权利要求2所述的方法,其特征在于,所述客户端部署在外网,所述服务端部署在内网,所述基于所述请求信令中的会话描述信息针对信源标识符的描述,确定所述请求信令匹配的信源标识符之后,还包括:
基于所述请求方和所述请求信令中的会话描述信息,确定所述请求信令的网络流向,利用所述网络流向和所述信源标识符,生成程序表述头;其中,所述程序表述头包括与所述网络流向相匹配的网络标识位和网络标识符;
所述向所述媒体代理发起会话请求并将所述信源标识符发送至媒体代理,获取所述媒体代理响应所述会话请求后为所述信源标识符分配的媒体代理端口,包括:
向所述媒体代理发起会话请求并将所述程序表述头发送至媒体代理,获取所述媒体代理响应所述会话请求并解析所述程序表述头后,从媒体代理端口池为所述信源标识符分配的媒体代理端口。
4.根据权利要求1所述的方法,其特征在于,当所述请求方为客户端时,所述将所述请求信令转发至被请求方并获取所述被请求方响应所述请求信令的反馈信息,将所述反馈信息转发至所述请求方,包括:
利用所述信源标识符对应的媒体代理端口,修改所述请求信令中的会话描述信息所携带的端口值,并将修改后的请求信令转发至所述服务端;其中,所述服务端响应所述请求信令生成第一反馈码和第一反馈信令,所述反馈信息包括所述第一反馈码和所述第一反馈信令;
利用所述固定媒体端口,修改所述第一反馈信令中的会话描述信息所携带的端口值,并将修改后的第一反馈信令和所述第一反馈码转发至所述客户端。
5.根据权利要求1所述的方法,其特征在于,当所述请求方为服务端时,所述将所述请求信令转发至被请求方并获取所述被请求方响应所述请求信令的反馈信息,将所述反馈信息转发至所述请求方,包括:
利用所述固定媒体端口,修改所述请求信令中的会话描述信息所携带的端口值,并将修改后的请求信令转发至所述客户端;其中,所述客户端响应所述请求信令生成第二反馈码和第二反馈信令,所述反馈信息包括所述第二反馈码和所述第二反馈信令;
利用所述信源标识符对应的媒体代理端口,修改所述第二反馈信令中的会话描述信息所携带的端口值,并将修改后的第二反馈信令和所述第二反馈码转发至所述服务端。
6.根据权利要求1所述的方法,其特征在于,当所述请求方为至少一个所述客户端时,所述基于所述固定媒体端口和所述映射关系将所述媒体流传输至所述被请求方,包括:
获取每个所述客户端上传至所述固定媒体端口的第一媒体流;其中,所述第一媒体流携带有所述客户端匹配的信源标识符;
从所述媒体代理保存的所有所述映射关系中,确定所述第一媒体流携带的信源标识符匹配的第一目标映射关系;
利用所述第一目标映射关系将所述第一媒体流分发至所述第一媒体流携带的信源标识符对应的媒体代理端口;其中,所述媒体代理端口将所述第一媒体流传输至所述服务端上对应的内网媒体端口。
7.根据权利要求6所述的方法,其特征在于,当所述服务端得到所述客户端的第一媒体流后,向至少一个所述客户端发起第二媒体流时,所述基于所述固定媒体端口和所述映射关系将所述媒体流传输至所述被请求方,包括:
获取从所述服务端的所述内网媒体端口传输至所述媒体代理端口的所述第二媒体流;
从所述媒体代理保存的所有所述映射关系中,确定收到所述第二媒体流的所述媒体代理端口对应的第二目标映射关系;
利用所述固定媒体端口将所述媒体流传输至与所述第二目标映射关系匹配的客户端。
8.根据权利要求1所述的方法,其特征在于,所述响应于所述请求方发起媒体流,基于所述固定媒体端口和所述映射关系将所述媒体流传输至所述被请求方之后,还包括:
基于所述客户端的地址及端口、所述固定媒体端口和所述服务端的地址及端口,生成媒体流对应的转发规则,将所述转发规则下发至***内核。
9.一种电子设备,其特征在于,包括:相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行如权利要求1-8中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有程序数据,其特征在于,所述程序数据被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410100078.4A CN117615023B (zh) | 2024-01-24 | 2024-01-24 | 跨网络边界的传输方法、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410100078.4A CN117615023B (zh) | 2024-01-24 | 2024-01-24 | 跨网络边界的传输方法、电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117615023A CN117615023A (zh) | 2024-02-27 |
CN117615023B true CN117615023B (zh) | 2024-04-12 |
Family
ID=89953936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410100078.4A Active CN117615023B (zh) | 2024-01-24 | 2024-01-24 | 跨网络边界的传输方法、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117615023B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004034637A1 (fr) * | 2002-10-09 | 2004-04-22 | Zte Corporation | Procede et systeme d'interconnexion de teleservices de reseaux heterogenes a large bande |
CN1574798A (zh) * | 2003-05-29 | 2005-02-02 | 微软公司 | 受控跨网络边界媒体流中继机 |
CN1581872A (zh) * | 2003-08-06 | 2005-02-16 | 中兴通讯股份有限公司 | 基于megaco协议的信令代理实现方法 |
CN1838616A (zh) * | 2006-04-25 | 2006-09-27 | ***通信集团公司 | 媒体流分流***及分流方法 |
CN101771730A (zh) * | 2008-11-28 | 2010-07-07 | 华为终端有限公司 | 一种发放业务的方法、装置和*** |
CN113489717A (zh) * | 2021-07-02 | 2021-10-08 | 北京飞讯数码科技有限公司 | 基于sip协议的内外网互通方法、装置、设备及存储介质 |
CN114244908A (zh) * | 2021-11-05 | 2022-03-25 | 浙江蓝卓工业互联网信息技术有限公司 | 一种跨网域的rtsp流媒体传输方法 |
-
2024
- 2024-01-24 CN CN202410100078.4A patent/CN117615023B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004034637A1 (fr) * | 2002-10-09 | 2004-04-22 | Zte Corporation | Procede et systeme d'interconnexion de teleservices de reseaux heterogenes a large bande |
CN1574798A (zh) * | 2003-05-29 | 2005-02-02 | 微软公司 | 受控跨网络边界媒体流中继机 |
CN1581872A (zh) * | 2003-08-06 | 2005-02-16 | 中兴通讯股份有限公司 | 基于megaco协议的信令代理实现方法 |
CN1838616A (zh) * | 2006-04-25 | 2006-09-27 | ***通信集团公司 | 媒体流分流***及分流方法 |
CN101771730A (zh) * | 2008-11-28 | 2010-07-07 | 华为终端有限公司 | 一种发放业务的方法、装置和*** |
CN113489717A (zh) * | 2021-07-02 | 2021-10-08 | 北京飞讯数码科技有限公司 | 基于sip协议的内外网互通方法、装置、设备及存储介质 |
CN114244908A (zh) * | 2021-11-05 | 2022-03-25 | 浙江蓝卓工业互联网信息技术有限公司 | 一种跨网域的rtsp流媒体传输方法 |
Non-Patent Citations (2)
Title |
---|
叶舒 ; .多媒体通信中网络边界穿越技术应用研究.计算机与数字工程.2008,(第09期),全文. * |
朱世交 ; 杨珺 ; 唐忠 ; .基于RTSP控制的流媒体代理服务器集成算法研究.计算机应用.2009,(第04期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN117615023A (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461402B2 (en) | Routing based request correlation | |
US8874762B2 (en) | Session initiation protocol adaptor | |
US6862277B2 (en) | Method and apparatus for multi-media communication over multiple networks | |
US8892768B2 (en) | Load balancing apparatus and load balancing method | |
US11171998B2 (en) | Set-up of media stream transmission and server and client for media stream transmission | |
US7779131B2 (en) | Server and communication control method | |
US8601139B2 (en) | Multiple core session initiation protocol (SIP) | |
CN113630439B (zh) | 实时通信rtc连接方法、服务器及存储介质 | |
CN113162865A (zh) | 负载均衡方法、服务器和计算机存储介质 | |
CN101355492B (zh) | 简单对象访问协议路由方法及路由***以及相关设备 | |
US20090067419A1 (en) | Transmission control apparatus and method | |
CN106559504B (zh) | 一种地址转换方法及装置 | |
GB2417639A (en) | Assigning participant identifying data to network transmission events. | |
CN114679434B (zh) | 会话消息处理***、方法、计算机设备及存储介质 | |
JP2006303754A (ja) | 複合セッション制御装置及び方法 | |
CN117615023B (zh) | 跨网络边界的传输方法、电子设备和计算机可读存储介质 | |
TWI433517B (zh) | 基於多重核心處理對話啟動協定(sip)訊息的方法及裝置 | |
EP2589195B1 (en) | Method and apparatus for transmitting an application identifier across application elements | |
CN111107134B (zh) | 连接控制方法、装置、电子设备及可读存储介质 | |
US8639828B1 (en) | Accelerated TCP network communications | |
WO2023005630A1 (zh) | 待传输报文的发送方法及装置、存储介质及电子装置 | |
CN117749773A (zh) | 数据传输方法、装置、***和电子设备 | |
KR20080093725A (ko) | 세션 설정 프로토콜 기반의 ip 멀티미디어 서비스를제공하는 단말장치, 호 세션 제어 기능 장치 및 이를이용한 서비스 요청 송/수신 방법 | |
JP6014580B2 (ja) | 負荷分散装置、負荷分散方法及び負荷分散プログラム | |
JP5272027B2 (ja) | 呼制御方法、および呼制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |