能感知转码器利用率的网络网关的会话控制的制作方法

文档序号:19542947发布日期:2019-12-27 16:40阅读:275来源:国知局
能感知转码器利用率的网络网关的会话控制的制作方法

相关申请的交叉引用

本专利申请要求2017年5月3日提交的序列号为15/585,725的美国实用专利申请的优先权。该序列号为15/585,725的申请的全部内容通过引用并入本文。



背景技术:

被配置用于电信的计算设备(诸如无线电话)通常能够处理各种类型的媒体和对其的编码。但是,并非所有可经由特定网络连接的电信设备都必须支持相同的类型或编码。这会限制用户与具有不同类型的电信设备的其他用户通信的能力。此外,通信限制可能会根据网络状况随时间而变化。

附图说明

参照附图阐述详细描述。在附图中,附图标记的最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记代表相似或相同的项目。这些附图不一定按比例绘制。

为了简化说明,在本文的图中,以菱形开头的箭头将第一组件或操作(在菱形端)连接到至少一个第二组件或操作,该第二组件或操作包含在或可以包含在至少一个示例中的第一组件或操作。

图1是示出根据一些实现方式的用于实现用于转码器负载管理的能力信息修改的电信系统的框图。

图2是示出根据一些实现方式的用于实现能力信息修改的系统的框图。

图3示出了示例性呼叫流程,其示出了在通信会话的建立期间媒体能力信息的修改。

图4示出了示例性呼叫流程,其示出了在通信会话的建立期间对媒体能力信息的修改。

图5示出了示例性呼叫流程,其示出了在通信会话期间对媒体能力信息的修改。

图6示出了例如在建立通信会话时用于在两个终端之间互通的示例过程。在一些示例中,图示的操作可以由网络网关系统执行。

图7示出了例如在建立通信会话时用于在两个终端之间互通的示例过程。在一些示例中,图示的操作可以由网络网关系统执行。

图8示出了用于两个终端之间的互通的示例过程。在一些示例中,图示的操作可以由网络网关系统执行。

图9示出了用于两个终端之间的互通的示例过程。在一些示例中,图示的操作可以由锚定网络设备执行。

图10示出了用于两个终端之间的互通的示例过程。在一些示例中,图示的操作可以由锚定网络设备执行。

图11示出了例如在建立通信会话时用于在两个终端之间互通的示例过程。在一些示例中,图示的操作可以由锚定网络设备执行。

图12示出了用于两个终端之间的互通的示例过程。在一些示例中,图示的操作可以由锚定网络设备执行。

图13示出了用于两个终端之间的互通的示例过程。在一些示例中,图示的操作可以由网络网关执行。

图14示出了用于控制核心网络互通功能的示例过程。在一些示例中,图示的操作可以由网络网关执行。

具体实施方式

数字化的语音或其他音频或数字化的视频可以通过各种编码/解码过程或“编解码器”进行编码。具有不同编解码器能力的终端之间的音频或视频通信可能需要转码或特定的编解码器选择。在某些现有方案中,诸如移动终端(mt)设备之类的目的地终端只能从始发终端(例如,移动始发mo设备)提供的编解码器或模式中进行选择。鉴于不同终端支持的编解码器种类繁多,这可能是一个重大限制。因此,一些现有方案包括核心网络设备,例如,被配置为在编解码器对中的一个编解码器与另一编解码器之间的会话的数据转码的媒体网关(mgw),从而允许终端之间的相互通信。

然而,mgw只能在特定会话的终端支持的编解码器之间对该特定会话的数据进行转码。因此,随着会话的建立和解除以及终端的连接和断开,正在转码的编解码器对的数量和类型会随着时间而变化。此外,不同的编解码器对在核心网络设备上放置不同的负载量。因此,媒体网关的负载不仅取决于它正在处理的会话数量,还取决于每个会话中正在转码的特定编解码器对。

媒体网关具有有限的转码能力,例如,按照处理器周期、数字信号处理器(dsp)核或硬件或固件处理单元来衡量。当媒体网关达到其转码能力时,可能会丢弃现有会话或新会话而不会发出警告。这可能会导致会话的意外的、不可预测的终止,并且因此降低网络可靠性。

在本文描述的一些示例中,随着媒体网关的转码负载增加,网关将现有会话降级为较低负载的编解码器对,以增加网关可以处理的会话数量。这可以延迟会话丢弃的开始,从而增加网络的容量。这也可以提供负载增加的提早预警,允许核心网络在呼叫丢弃之前采取其他动作来减少负载。本文的示例技术可以用于双向语音或视频会话,例如lte或webrtc会话。本文的示例技术可以附加地或可替代地用于单向流会话,诸如视频或音乐流。本文的示例技术可以对相互通信的终端透明地执行,因此即使对于现有的终端也允许增加网络容量。本文的示例系统和技术可以允许具有某些能力的终端与不具有那些能力的终端进行通信,而例如不需要会话分组的有效载荷的计算昂贵的转码或其他操纵。

示例音频编解码器可以包括例如在公共交换电话网(pstn)中使用的脉冲编码调制(pcm)、μ定律pcm(pcmu)或g.711;opus、vorbis、mp3、高级音频编码(aac)或其他在个人计算环境中常用的编解码器;国际电信联盟(itu)g.729或视频会议中使用的其他编解码器;或自适应多速率(amr)、增强型语音服务(evs)或蜂窝系统中常用的其他编解码器。示例视频编解码器可以包括ituh.263、运动图像专家组(mpeg)标准,诸如mpeg-4第2部分和h.264/mpeg-4第10部分;编解码器,诸如theora、quicktime、vp6、vp8,以及其他个人计算机(pc)环境中常用的编解码器;或旧pc或电信系统中的h.261、mpeg-1或mpeg-2。示例性无损编解码器可以包括压缩的行程编码(rle)或lempel-ziv-markov链算法(lzma)。所列出的编解码器不是限制性的,并且本文的示例可以附加地或替代地使用其他编解码器。

如本文所使用的,“终端”是被配置为执行本文所描述的技术或与被配置为执行本文所描述的技术的系统相互通信的通信设备,例如,蜂窝电话或其他用户设备(ue)。终端可以包括例如无线语音或数据通信设备。终端可以包括用户界面(例如,智能手机所具有的),但是不是必需的。例如,被配置为按需提供音频或视频内容的流服务器可以是终端。这样的终端可以不包括用户界面,而是依赖于其他终端上的界面来形成查询并将那些查询发送到服务器。

如本文所使用,术语“能力”和“媒体能力”是指数据类型、编码、格式、比特率、协议、基础协议、压缩技术、简档、信号完整性技术(诸如,检错或纠错技术)、编解码器或任何这些的组合,其由终端支持用于与其他终端交换数据。本文所使用的术语“会话”包括用于在两个或更多个终端之间单向或双向交换数据的通信路径。示例会话包括例如人类与之通话的语音和视频呼叫,例如两个电子系统之间或电子系统与人类之间的数据通信会话或富通信服务(rcs)会话。会话的示例可以是例如语音互联网协议(ip)或“voip”,使用opus通过webrtc网关从网页浏览器或平板电脑应用程序到ip多媒体子系统(ims)订户的呼叫,或相反亦然。在某些示例中,webrtc网关可以在sip和其他信令协议之间进行转换。在一些示例中,webrtc网关可以附加地或替代地在编解码器之间进行转码。

本文,术语“分组”通常用于指代包括报头和有效载荷并且经由通信网络发送或接收的数据分组、帧、数据报文或数据的任何其他可识别的单元。在整个文件中,除非另外明确说明,否则例如从指定的源或到指定的目的地的分组的传输的讨论可以包括零个或多个中间网络设备。

许多网络是“异构网络”,即包括具有各种能力集的终端的网络。例如,许多lte蜂窝网络支持lte语音(volte),并且还与pstn互连。可以使用多种编解码器中的任何一种来编码或解码使用volte的语音呼叫,例如amr编解码器或evs编解码器。例如,宽带amr(amr-wb)以例如6.6kbps和23.85kbps(例如12.65kbps)之间的比特率将大约50hz-7000hz的频率范围内的音频数据编码为压缩数据。编解码器的另一个示例是窄带amr(amr-nb),其可以在大约200hz-3400hz的频率范围内对音频数据进行编码。evs编解码器对16位线性脉冲编码调制(pcm)音频样本进行编码,以8khz、16khz、32khz或48khz的采样率覆盖高达16khz(超宽带,swb)或高达20khz(全频带,fb)的频率范围。压缩的evs数据的比特率可以在5.9kbit/s和128kbit/s之间,或者在6.6kbit/s和23.85kbit/s之间,以实现与amr-wb的互操作性。pstn通常在300

hz-3400hz频带中承载未压缩音频,这些音频根据itug.711标准格式化为未压缩的8位pcm对数量化的样本。

在一些示例中,电信系统可以包括网络网关。网络网关可以在通信会话中对分组的有效载荷进行转码,以在媒体能力(例如编解码器)之间转换。网络网关可以另外报告执行转码的转码单元的容量或利用率的信息。在一些示例中,电信系统可以包括接收信息的锚定网络设备。锚定网络设备可以调整由网络网关进行转码的一个或更多个通信会话的能力信息。这可以减少转码单元的利用率(例如,其上的负载)。在一些示例中,网络网关系统可以包括网络网关和锚定网络设备。

说明性配置

图1是示出根据一些示例的电信系统100的框图。该系统包括终端102和104,例如用户设备或其他移动电话或通信设备或终端。终端102和104可以例如分别由用户和第二用户(未示出)来操作。终端102和104例如经由各自的接入网108和110可通信地连接到锚定网络设备106。锚定网络设备106可以包括例如支持volte的网络中的ims,例如始发或终止ims的电话应用服务器(tas)或访问传输控制功能(atcf)。电信网络可以包括接入网108和110,或者可以通过接入网108和110相互通信。

终端102和104可以被实现为被配置为通过无线和/或有线网络进行通信的任何合适的计算设备,包括但不限于移动电话(例如,智能电话)、平板计算机、膝上型计算机、便携式数字助理(pda)、可穿戴计算机(例如,电子/智能眼镜、智能手表、健身追踪器等)、联网数字相机和/或类似的移动设备。尽管该描述主要将终端102和104描述为“移动”或“无线”(例如,被配置为可携带和可移动),但是应当理解,终端102和104可以代表通常是固定的各种类型的通信设备,例如电视、台式计算机、游戏机、机顶盒等。从这个意义上讲,术语“通信设备”、“无线设备”、“有线设备”、“移动设备”、“计算设备”、“终端”、“用户设备”和“ue”在本文中可以互换使用以描述能够执行本文描述的技术的任何通信设备。在一些示例中,一些终端可以具有特定的媒体处理要求,因此在会话描述中仅接受特定的媒体编解码器或组件。

在一些示例中,终端102和104可经由网络114彼此可通信地连接,与媒体服务器112或其他设备(为简洁起见而省略)通信,在该示例中,网络114包括接入网108和110以及核心网络,如下所述,但不限于此。在一些示例中,媒体服务器112可以是视频或音频流服务器、多方音频或视频会议服务器、诸如股票价格服务器的实时信息服务器或辅助或参与在网络114承载的通信会话中的另一计算设备。媒体服务器112可以是终端的示例。媒体服务器112可以是或包括移动设备,或者可以是或包括不是为移动性而设计的设备,诸如机架安装式服务器。

终端102和104之间的通信会话通过信令业务来管理,例如,传输指示以建立或解除该通信会话的指令的分组。在本文的一些示例中,在会话发起协议(sip,rfc3261)的情境中描述了信令业务。然而,这不是限制性的,并且其他信令协议和技术可以与本文描述的功能一起使用或实现。在一些示例中,通信会话的信令业务,例如sip请求和响应或其他信令业务,可以传递到锚定网络设备106或其他代理、用户代理服务器或客户端,或背对背用户代理(b2bua)或通过锚定网络设备106或其他代理、用户代理服务器或客户端,或背对背用户代理(b2bua)传递。sip或其他信令业务可以包括从呼叫终端(例如,终端102)到被叫终端(例如,终端104)的发起请求。使用“呼叫”和“被叫”并不意味着会话必须是语音呼叫。

如本文中所使用的,“锚定网络设备”是一种网络设备,是在通信会话的已建立阶段的持续时间内,用于通信会话的至少一些信令业务(例如,sip业务)通过。该会话在锚定网络设备上被“锚定”。通过隔离锚定网络设备的两侧,用于会话的锚定信令业务可以提高网络的鲁棒性。例如,因为终端102和104之间的sip路由经过锚定网络设备106,当终端104从接入网110切换到另一接入网时,不需要终端102改变其到终端104的sip(或其他信令)路由。在一些示例中,响应于sip邀请请求的锚定网络设备106的接收而进行锚定,并且一旦锚定完成,例如一旦锚定网络设备106已记录了将通信会话锚定在该锚定网络设备106上的指示,则锚定网络设备106在进度响应中发送sip183会话。如本文中所使用的,以“xx”结尾的sip响应代码(例如sip1xx临时响应)代表例如sip响应(rfc3261,§7.2)的类别1的任何响应。

当第一用户期望例如向第二用户发出呼叫,或以其他方式发起与终端104或媒体服务器112的会话时,终端102例如响应于“发送”控件116的第一用户致动经由第一接入网108向被叫终端104发送通信会话的发起请求118,例如sip邀请请求。在所示的示例中,经由信令路径120发送发起请求118。呼叫终端102可以附加地或可替代地经由媒体路径122通信,这将在下面更详细地讨论。信令路径120和媒体路径122可以代表沿着公共网络、沿着不同网络或其任何组合的不同分组流。如图所示,在一些示例中,媒体服务器112可以经由信令路径120或媒体路径122进行通信。

发起请求118(例如,传出语音呼叫)包括目的地124的信息,例如,被叫终端104,呼叫终端102请求与被叫终端104建立会话。在该示例中,仅示出了一个目的地,即终端104。然而,发起请求118可以指定任意数量的目的地。发起请求118还包括指示终端102的一种或更多种媒体能力的信息126。一种或更多种媒体能力的信息126也被称为“要约”。在示例中,发起请求118包括具有会话描述协议(sdp)主体的sip邀请消息,该会话描述协议(sdp)主体包括会话描述,例如,一个或更多个媒体能力的信息126。例如,信息126可以包括以16khz采样率用于amr-wb的至少一个sdp属性(“a=”)行,例如“a=rtpmap:110amr-wb/16000”。

在一些示例中,信息126可以指示多个编解码器或其他能力。在一些示例中,信息126可以指示所列出的能力之间的优先级关系。例如,sdp主体可以包括媒体描述(“m=”)行,其列出了多种格式,例如多种编解码器。可以按照优先级从高到低的顺序列出格式,使得例如,最喜欢的格式首先在“m=”行上列出。

特定的媒体能力可以包括特定的编解码器、特定的信号完整性技术,例如,纠错码、缓冲和数据丢失减轻技术、流控制技术或检错技术。不同的媒体能力可以是,例如,共享通用有效载荷格式(例如,amr-wb和evs互操作、io模式)的各自不同的编解码器,它们具有各自的、不同的信号完整性技术(例如,evs信道感知、chaw模式和evs标准模式),或在其他方面有所不同。

锚定网络设备106从终端102接收发起请求118并执行负载处理128,例如,如下面参考图2所述。在一些示例中,负载处理128修改一种或更多种媒体能力的信息126,以提供一种或更多种媒体能力的修改的信息130。然后,锚定网络设备106向目的地(例如,向终端104)或与目的地相对应的锚定网络设备(例如,与终端104通信连接的服务呼叫会话控制功能(s-cscf))发送包括修改后的信息130的第二发起请求132。

因此,终端104接收包括一个或更多个媒体能力的修改信息130的发起请求132。终端104可以例如通过提醒第二用户并向终端102发送sip180振铃响应来进行响应(例如,在一些示例中,在交换sip183、prack、更新和相关联的200ok消息之后)。终端104的用户然后可以例如通过操作诸如触摸屏按钮之类的呼叫接受控件134来指示应该接受的呼叫。然后,终端104可以例如通过向终端102发送sip200ok响应来接受发起请求。当被叫终端104例如通过发送sip200ok来接受通信会话时,通信会话进入“已建立”阶段,例如sip“确认的对话状态”(rfc3261,§12)。在建立阶段,可以在参与终端之间交换数据。在一些示例中,分组包括语音呼叫的数字化音频、dtmf(双音多频)音调信息或数字化视频。

呼叫发起可以例如按照全球移动系统(gsm)或volte标准中的定义来执行,并且可以包括在终端102和104与锚定网络设备106之间交换附加消息(未示出)。可以经由描绘为媒体路径122的通信信道在终端102和104之间交换会话的数据(诸如,如修改的信息130中指定的那样格式化的音频数据或视频数据),其可以通过锚定网络设备106或如图所示可以绕过锚定网络设备106。

在某些示例中,媒体路径122可以通过网络网关136。例如,网络网关136可以包括例如始发或终止ims的访问传输网关(atgw)。如本文所使用的,术语“网络网关”可以指示但不要求网络网关136连接两个不同的网络。在一些非限制性示例中,网络网关136可以被配置为在不同网络之间或特定网络中的不同终端之间传递业务。

在一些示例中,信令路径120代表控制平面,例如,承载sip信令。在一些示例中,媒体路径122代表例如承载rtp媒体的用户平面。在一些示例中,锚定网络设备106经由网关控制协议或第三方呼叫控制协议来管理网络平面,并且与网络网关136进行通信,从而管理用户平面。示例包括h.248(“megaco”)、voicexml或媒体服务器标记语言(msml)。

msml通常用于控制媒体资源功能(mrf)。

网络网关可以执行转码138以修改(“重写”)通过网络网关136的分组的报头或有效载荷。例如,可以执行转码138以在编解码器之间对有效载荷数据进行转码,如下文更详细地描述。在一些示例中,网络网关136可以向锚网络设备106提供在转码单元236上的容量或负载的信息140,如下所述。例如,在诸如呼叫建立或解除的呼叫状态事件时,或者从锚定网络设备106请求时,网络网关136可以至少周期性地,以随机(或伪随机,并且贯穿全文类似)时间间隔来提供信息140。

在一些示例中,锚定网络设备106可以在接收到sip邀请(sipinvite)、sipbye请求、sip更新(sipupdate)请求或另一个呼叫状态消息后,向网络网关136发送h.248或其他网关控制消息。网关控制消息可以包括对信息140的请求。网络网关136可以包括在对网关控制消息的响应中的信息140,例如作为h.248响应中的附加信息。信息140的以这种方式在网关控制消息上带式(piggybacking)传输可以减少传输信息140的网络负载,并且与添加新协议相比,可以更少地增加网络网关136的复杂性(尽管用于交换信息的专用协议140在某些示例中可以使用)。

在一些示例中,网关控制消息可以与特定会话有关。返回的信息140可以与该会话有关。附加地或替代地,返回的信息140可以代表跨多个会话或整个会话对网络网关136的转码资源的负载。因此,在一些示例中,每当会话开始时,锚定网络设备106可以相对于该会话或相对于不同的会话(或两者)执行负载处理128。

在一些示例中,锚定网络设备106可以在负载处理128期间与网络网关136交互。这可以允许例如基于网络网关136支持的编解码器或其他媒体能力来过滤或修改信息126或修改的信息130。在网络网关136执行转码的一些示例中(例如,如本文中参考转码单元236所讨论的),锚定网络设备106可以与网络网关136进行交互以确定针对转码单元236的给定负载,网络网关136可以支持哪些编解码器对进行转码。

在一些示例中,锚定网络设备106和网络网关136的功能可以组合或以其他方式集成到网络网关系统142中。例如,网络网关系统142可以是或包括voip-pstn网关,该voip-pstn网关被配置为将sip信令和实时传输协议(rtp)媒体,例如,在g.722编解码器中的,代理为电路交换主干上的ss7信令和g.711媒体。附加地或可替代地,网络网关系统142可以是或包括webrtc网关,该webrtc网关被配置为将例如来自用户的web浏览器的opus编解码器中的网页套接字的sip信令和安全rtp(srtp)媒体代理为evs编解码器(例如lte网络的ims)中的tcp或udp的sip信令和rtp媒体。这些示例网关操作可以附加地或替代地由分离的、相互通信的锚定网络设备106和网络网关136来执行。在一些示例中,网络网关系统142可以是或包括webrtc网关、互连会话边界控制器(isbc)、其他isbc、媒体网关(mgw)、分支网关控制功能(bgcf)或atgw。尽管为了简洁起见,本文根据音频流描述了各种示例,但是网络网关系统142还可以处理其他类型的数据流,例如,视频或文本流。例如,在webrtc上下文中,网页浏览器可能正在使用vp8视频,而会话中的另一方可能仅支持h.265视频。在该示例中,诸如webrtc网关的网络网关系统142可以在两个编解码器之间对视频进行转码。

图2是示出了根据一些实现方式的允许能力信息修改和编解码器互通的电信系统200的框图。为简便起见,与会话相关联的能力信息的修改称为对该会话的“修改”。

系统200包括终端202,例如无线电话或其他用户设备,诸如图1的经由网络206耦合到服务器204的终端102或104。服务器204可以是图1的锚定网络设备106的示例,例如atcf;图3的网络网关136的示例,例如,atgw;或图1的网络网关系统142的示例,例如webrtc网关。网络206可以包括一个或更多个网络,诸如蜂窝网络208和数据网络210。网络206可以包括经由一个或更多个接入网(例如接入网108或110)连接到用户设备的一个或更多个核心网络。终端202或服务器204中的至少一个可以经由网络206与另一终端或其他设备(例如,终端104或媒体服务器112(为简洁起见省略))通信。如图在图1中,虚线代表媒体路径122。

蜂窝网络208可以提供广域无线覆盖。示例蜂窝网络208可以包括诸如gsm或码分多址(cdma)的第二代(2g)蜂窝网络,或诸如通用移动电信系统(umts)的第三代(3g)蜂窝网络。其他示例性蜂窝网络208可以包括增强型数据gsm环境(edge)、gsmedge无线电接入网(geran)、umts陆地无线电接入网(utran)或第四代(4g)蜂窝网络,诸如使用sip信令承载volte会话的lte的无线网络。其他示例性蜂窝网络208可以包括时分多址(tdma)、演进数据优化(evdo)、高级lte(lte+)、通用接入网(gan)、无执照移动接入(uma)、正交频分多址(ofdm)、通用分组无线点服务(gprs),高级移动电话系统(amps)、高速分组接入(hspa)、演进型hspa(hspa+)。

数据网络210可以包括用于发送和接收数据(例如,分组)的各种类型的网络,包括使用诸如ieee802.lx协议、无线微波接入(wimax)、wifi、ieee802.15.1(“蓝牙”)、异步传输模式(atm)和其他例如配置为传输ip分组网络技术,和/或任何将来的基于ip的网络技术或现有基于ip的网络技术的演进的网络。在一些示例中,服务器204包括互通功能(iwf)或其他设备桥接网络(例如,lte、3g或pots网络)或与其可通信地连接。在一些示例中,服务器204可以将来自pstn的ss7业务或来自公共互联网的webrtc业务桥接到网络206中,例如,允许pstn客户向蜂窝客户发出呼叫,反之亦然。

在一些示例中,蜂窝网络208和数据网络210可以承载语音或数据。例如,数据网络210可以使用互联网协议的语音(voip)或其他技术来承载语音业务以及数据业务,或者蜂窝网络208可以使用高速分组接入(hspa)、lte或其他技术来承载分组以及语音业务。一些蜂窝网络208以分组交换格式承载数据和语音。例如,许多lte网络根据lte语音(volte)标准将语音业务承载在分组中。许多数据网络210可以以对底层分组传输透明的方式承载顶层(ott)会话封装,例如语音或视频数据的。本文的各种示例提供例如电路交换(cs)网络206或混合volte/3g网络206上的运营商级语音呼叫的发起和终止,以及包括原始设备制造商(oem)手机和非-oem手机的终端202上的运营商级语音呼叫的发起和终止。服务器204与诸如终端202之类的终端之间的通信可以附加地或替代地使用其他类型的网络206来执行,诸如以太网、光链路(例如,同步光网络、sonet),或其他计算机网络,或普通老式电话服务(pots)或pstn线路,例如,使用信令系统7(ss7)信令。

终端202可以是或包括无线电话或任何其他类型的终端,诸如本文参考图1所讨论的。终端202可以包括一个或更多个处理器212,例如一个或更多个处理器设备,例如微处理器、微控制器、中央处理器(cpu)、图形处理器(gpu)、通用gpu(gpgpu)、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、可编程逻辑器件(pld)、可编程逻辑阵列(pla)、可编程阵列逻辑设备(pal)或数字信号处理器(dsp)。

终端202可包括一个或更多个计算机可读介质(crm)214,诸如存储器(例如,随机存取存储器(ram)、固态驱动器(ssd)等),磁盘驱动器(例如,基于盘片的硬盘驱动器),另一种类型的计算机可读介质,或其任何组合。计算机可读介质214可用于存储数据并存储可由处理器212执行以执行如本文所述的各种功能的指令。计算机可读介质214可以存储各种类型的指令和数据,诸如操作系统、设备驱动程序等。处理器可执行指令可以由处理器212执行以执行本文描述的各种功能。

计算机可读介质214可以是或包括计算机可读存储介质。计算机可读存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术,cd-rom、数字通用盘(dvd)或其他光学存储器,盒式磁带、磁带,磁盘存储器或其他磁存储设备,或任何其他有形的非暂时性介质,其可用于存储所需信息并且可由处理器212访问。有形计算机可读介质可包括易失性和非易失性,可移除和不可移除的用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的介质。

计算机可读介质214可以存储终端202的一个或更多个能力的信息216。信息216可以包括例如终端202支持的语音或视频编解码器的指示。

计算机可读介质214可包括客户端应用程序218的处理器可执行指令。客户端应用程序218(例如,本机或其他拨号器)可允许用户发起和终止与终端202(例如,无线电话)相关联的通信会话。在一些示例中,终端202可以在客户端应用218的控制下向服务器204传送指示目的地124和能力的信息126的发起请求118,例如,如上面参考图1所讨论的。

终端202还可以包括用户界面(ui)220,例如,包括显示器222,例如电子显示设备、扬声器、振动单元、触摸屏或用于向用户呈现信息并从用户接收命令的其他设备。用户界面220可以包括会话发起用户界面控件116,例如触摸屏或物理按钮,以指示应该发起通信会话。用户界面220或其组件(例如,显示器222)可以与终端202分离或者与终端202集成。终端202还可以包括一个或更多个无线电224,其被配置为经由网络206选择性地无线通信,例如,经由接入网108或110,或者一个或更多个被配置为经由网络206使用有线连接选择性地进行通信收发器(未示出)。一个或更多个无线电224可以包括,例如,用于本文列出的任何无线或蜂窝协议或其未来基于分组或基于小区的演进。无线电224可以是网络接口的示例。在一些示例中,终端202的通信接口可以包括网络接口(例如,一个或更多个无线电224)、存储器接口(例如,用于一个或更多个处理器212和crm214之间的通信)或总线接口(例如,本地总线接口或可插拔总线接口,诸如外围组件互连pci、pciexpress、pcie或串行高级技术附接sata)中的至少一个。

服务器204可以包括与一个或更多个处理器228可通信地连接的一个或更多个计算机可读介质(crm)226。一个或更多个处理器228可以与一个或更多个网络接口230连接,以允许一个或更多个处理器228经由网络206进行通信。crm226可以是本文参照计算机可读介质214描述的任何类型。一个或更多个处理器228可以是本文参照一个或更多个处理器212描述的任何类型。在一些示例中,服务器204的通信接口可以包括网络接口230、crm226的存储器接口或总线接口中的至少一个。

crm226可以用于存储处理器可执行指令以执行负载处理128。例如,crm226可以存储利用率模块232或调整模块234的可执行指令。处理器可执行指令可以由处理器228执行以执行本文所述的各种功能。在一些示例中,服务器204包括利用率模块232或调整模块234。在其他示例中,服务器204包括利用率模块232和调整模块234。在一些示例中,本文为了简洁起见,一个或更多个处理器228和crm226(如果需要的话),简称为“控制单元”。例如,控制单元可包括cpu或dsp以及可由该cpu或dsp执行以使该cpu或dsp执行本文所述功能的指令。附加地或可替代地,控制单元可以包括asic、fpga或联网(物理地或经由熔断的熔丝或逻辑单元配置数据)以执行本文所述的功能的其他逻辑设备。

服务器204可以包括被配置为对一个或更多个通信会话的数据进行转码的多个转码单元236。可以使用以下至少之一来实现转码单元236:fpga、asic、assp、soc、复杂可编程逻辑设备(cpld)、pld、pla、pal、cpu、gpu或gpgpu。

在一些示例中,转码单元236可以包括被配置为执行dsp程序以执行转码的dsp(或gpu,在整个本讨论中同样如此)核心。在一些示例中,转码单元236可以包括处理器228或其他一个或更多个处理器,或者包括在那些处理器中的任何一个上执行的过程或线程。在一些示例中,crm226可以存储dsp或处理器可执行指令,示为转码指令238,以执行转码。

在一些示例中,转码单元236可以包括各自的转码逻辑单元。例如,转码逻辑单元可以包括asic、fpga或其他逻辑设备(例如,如上所列的)的一部分,其被配置为以除了或至少部分附加地执行在诸如crm226之类的crm中所存储的指令执行的方式执行转码。例如,当cpu、gpu、gpgpu和dsp全部执行存储在存储器中的指令时,cpld的功能被硬连接到其结构中。转码单元236的fpga和asic实现方式可以包括硬连线或可编程连接的硬件结构。这样的实现方式可以另外包括执行指令的处理器,但这不是必需的。

仍参考图2并且还参考图1,在一些示例中,利用率模块232可以确定多个转码单元236的利用率。例如,利用率模块232可以确定转码单元236的多少或多少百分比用于由转码单元236处理的会话。在一些示例中,利用率模块232可以从转码单元236接收或检索信息140,例如遥测信息,诸如基于软件的转码实现中的cpu平均负载,或转码逻辑单元或dsp核心对基于fpga或dsp的转码实现中会话的指派。在一些示例中,利用率模块232可以至少部分基于所存储的表来确定利用率,该表指示例如转码单元236对通信会话的指派。例如,利用率模块232可以例如响应于网关控制消息而将转码单元236指派给通信会话。本文例如参考图14讨论示例。利用率模块232可以保持指派的记录,并且基于那些记录来响应利用请求。

在一些示例中,利用率与预定的时间段相关联。例如,预定的时间段可以包括收集遥测信息的时间。附加地或可替代地,预定的时间段可以是在收集遥测信息的时间之后的时间段。

在一些示例中,利用率模块232可以维护负载信息的历史并且可以使用该历史来确定利用率。例如,利用率模块232可以通过例如使用线性、对数或指数回归、移动平均值、加权平均值或其任何组合来推断历史数据,从而确定针对未来时间段的利用率。例如,当趋势指示负载正在增加时,这可以允许预测性地或主动地减少负载。例如,当发生具有地区或国家重要意义的事件时,例如地震或世界大赛胜利,呼叫量通常会显著且不可预测地增加。确定未来时间的利用率可以允许随着呼叫量的增加而主动地减少负载,这继而允许网络网关系统142处理更多的总呼叫(或其他会话)。

表1示出了各种编解码器对的相对负载的示例。在表1中,“转码资源密度”代表可用于给定编解码器对的转码单元236的数量。因此,最高的转码资源密度对应于最低的相对负载。表1的示例在本文中使用,但不限于此。各种编码解码器对的特定相对负载可以凭经验确定,也可以基于特定转码单元或资源的体系结构确定。

表1

在一些示例中,利用率模块232或调整模块234中的至少一个可以确定利用率满足预定的负载标准。例如,负载标准可以指定对应于高负载条件的转码单元236的数量或百分比(例如,超过50%或超过80%)。调整模块234可以调整锚定在服务器204上的通信会话的信息以减少转码单元236上的负载。

例如,调整模块234可以至少部分地基于利用率来修改一个或更多个媒体能力的信息126以确定经修改的信息130。服务器204然后可以向终端104发送包括经修改的信息130的发起请求132,例如,经由第二锚定网络设备(为简洁起见省略),例如在会话的终止侧。例如,第二锚定网络设备可以是终端用户设备的s-cscf,也可以是用于将呼叫桥接到非volte网络的bgcf。第二锚定网络设备可以从服务器204接收发起请求132,并且将其传递给终端104(例如,用户设备)。

在一些示例中,调整模块234可以至少部分地基于可接受媒体能力的预定列表来修改信息126。例如,网络206的运营商可以定义一组需求。可以从信息126中移除不满足那些要求的媒体能力以形成信息130。

在一些示例中,服务器204可以从终端202(或者例如,终端102、终端104或媒体服务器112)接收分组。转码单元236可以修改接收到的分组的至少一个有效载荷以提供经修改的分组。另外,在一些示例中,处理器228或转码单元236可以修改接收到的分组的至少一个报头以提供修改的分组。服务器204然后可以向其目的地(例如,终端104或终端202)发送经修改的分组。这可以允许支持不同编解码器的终端之间的互通。

在一些示例中,服务器204可以被配置为仅在通信会话的一个方向上(例如,从终端102到终端104,反之亦然)修改分组,或者在通信会话的两个方向上修改分组。在一些示例中,服务器204可以包括用于一次处理一个分组或一次处理一个以上分组的硬件或处理资源。在一些示例中,信息126和经修改的信息130可以指示具有相同类型但不同子类型的相应的多用途互联网邮件扩展(mime)类型,例如,音频/evs和音频/amr-wb。在一些示例中,服务器204可以被配置为修改与两种媒体能力之间的通用性相关联的分组或报头,例如,仅修改与来自一个终端的音频/视频流相关联的音频报头或有效载荷,如果另一终端是仅音频终端。

图3示出了从可以代表呼叫终端102的终端302到可以代表被叫终端104或媒体服务器112的终端304的示例呼叫流程300。本文参考图3、图4或图5描述示例功能,例如由服务器204的模块232或234、另一网络网关系统142或另一锚定网络设备106与另一网络网关136协作来执行。为了说明的清楚,描述为锚定网络设备106或网络网关136所执行的功能可以另外或替代地由网络网关系统142的一个或更多个相应组件执行。

在框306处,网络网关136可以确定其多个转码单元236的利用率,并且将该利用率报告给锚定网络设备106。本文例如参考利用率模块232来讨论示例。在一些示例中,网络网关136可以经由诸如h.248或上述其他协议的控制协议来报告利用率。在一些示例中,每当建立或解除新的会话时,锚定网络设备106和网络网关136例如使用h.248消息进行通信。例如,当呼叫被断开时,网络网关136可以在h.248消息中报告断开之后的转码器利用率。

在一些示例中,锚定网络设备106可以使用h.248或类似消息来请求转码器资源。网络网关136可以利用利用率数据响应这些请求。然后,锚定网络设备106可以至少部分地基于利用率数据来指导编解码器中的改变,如本文所讨论的。在一些示例中,锚定网络设备106可以接收会话发起请求,诸如发起请求310(在下面讨论)。锚定网络设备106然后可以将网关控制消息发送到网络网关136。网关控制消息可以包括对信息140的请求。作为响应,网络网关可以提供信息140。因此,框306和308可以:如图所示,在邀请(例如,发起请求310)之后代替在发起请求310之前或在启动发起请求310之前额外地进行。在一些示例中,可以响应于锚定网络设备106与网络网关136之间的包括信息140的任何交互来执行框306和308以及贯穿全文的相似框。

在框308处,网络网关136或(如图所示的)锚定网络设备106可以确定利用率满足预定的负载标准。本文例如参考利用率模块232或调整模块234来讨论示例。例如,锚定网络设备106可以确定负载太高并且应当减小,或者应该减小负载的增长率。

在所示的示例中,终端302发送发起请求310,例如以具有sdp消息主体的sip邀请的形式。发起请求310可以代表发起请求118。发起请求310可以是要约消息的示例。发起请求310或其内容,例如,sdp主体或其中的编解码器列表,可以代表或被称为要约消息,并且可以指定第一多个编解码器。在此示例中,sdp主体提供了evs、amr-wb和amr-nb编解码器。在所示的示例中,发起请求310到达网络网关系统142或锚定与网络网关136可通信地连接的网络设备106。在一些示例中,发起请求310可以由一个或更多个附加的或可替代的设备,例如其他网关(为简洁起见省略),代理、接收或以其他方式处理。

为简洁起见,本文的各种示例涉及对例如在sdp主体中承载的编解码器列表的修改。除非另外指出,否则这些示例可以附加地或替代地与除编解码器以外的能力(例如带宽限制或其他系统限制)的信息126或经修改的信息130一起使用。

在示出的示例中,锚定网络设备106向终端304提供第二要约消息312。尽管在其他示例中可以包括,但是示出的第二要约消息312不包括编解码器列表。发送没有编解码器列表的第二要约消息312是“后期转码”或其他技术的示例,该其他技术中锚定网络设备106仅在从至少两个(例如,全部)与会话关联的终端接收到能力信息之后才决定将哪些编解码器用于会话。

在所示的示例中,终端304用指定第二多个编解码器的应答消息314来响应第二要约消息312。例如,应答消息314可以包括sip响应,例如,sip183会话进度响应、sip180振铃响应或sip200ok响应。在该示例中,应答消息314包括指定opus和g.711编解码器的sip183响应。

在框316,其可以代表负载处理128的至少一部分,锚定网络设备106可以调整与终端302和304相关联的会话的能力信息,以减少网络网关系统142上的负载,例如网关136上的负载。例如,锚定网络设备106例如可以至少部分地基于第一和第二多个编解码器来修改一个或更多个媒体能力的信息126(例如,在sdp主体中的)以提供经修改的信息130。框316可包括将规则添加到编解码器列表的前面或后面,或在编解码器列表的中间,例如,紧接在指定编解码器之前或之后;移除编解码器;或重新排序编解码器。框316可以提供与编解码器对相关联的经修改的信息130,与另一候选编解码器对相比,该编解码器对具有减小的负载。同样,在框316处,如输出虚线所示,锚定网络设备106可以向网络网关136提供要用于会话的编解码器的指示。在例如下面讨论的其他示例中,可以在转发邀请(第二要约消息312)之前或在会话中的其他时间附加地或替代地执行负载处理128。

所示的示例中,由于第一多个编解码器和第二多个编解码器不重叠,因此需要转码。锚定网络设备106可以响应于框308处的确定(如输入虚线所示),选择较低负载的编解码器对。例如,在轻载条件下,锚定网络设备106可以为终端302选择evs,为终端304选择opus,因为这些编解码器中的每一个都提供比诸如amr-nb或g.71等替代方案更高的音频质量。例如,在中等负载条件下,锚定网络设备106可以为终端302选择amr-nb,为终端304选择opus,例如在其中与evs-opus转码相比,这些编解码器之间的转码可以以减少的转码器负载执行的系统中。在重载条件下,例如,在其中amr-wb-g.711转码比amr-nb-opus转码需要更少的转码器资源的系统中,锚定网络设备106可以为终端302选择amr-wb,而为终端304选择g.711。这些例子是说明性的,而不是限制性的。可以基于预定信息(例如,存储在crm226中的关于各种编解码器对的相对转码器负载的信息)来执行框316处的特定编解码器选择。

在框316处或之后,锚定网络设备106可以将会话改变消息发送到与会话相关联的终端302、304。会话改变消息可以包括sip响应、sip重新邀请请求、sip更新请求或其他消息,该消息传达经修改的能力信息,例如媒体能力的经修改的信息130。在所示的示例中,锚定网络设备106可以向终端302发送sip183响应318,例如第二应答消息。响应318可以例如在其sdp主体中指示amr-wb是所选择的编解码器。同样在所示的示例中,锚定网络设备106可以向终端304发送sip更新请求320(或其他会话改变请求),以指示例如在其sdp主体中g.711是所选编解码器。附加地或替代地,sdp主体可以包括指示编解码器已被改变的标志。

在一些示例中,为了减少网络网关136上的负载,锚定网络设备106可以更改媒体流的类型。例如,视频流通常具有比音频流更高的数据速率,因此通常比音频流消耗更多的转码器资源。因此,在框316,锚定网络设备106可以例如通过将对应的sdp“m=”行中的端口号设置为零来从会话中移除视频流(rfc3264,§8.2)。在一些示例中,锚定网络设备106可以从会话中移除所有视频流,仅留下音频流。因此,在各种示例中,锚定网络设备106可以通过以下至少一种方式来改变指示媒体能力的信息126:移除特定类型(例如,音频,视频或即时消息传递)的一些或全部编解码器;添加至少一个特定类型的编解码器;或移除特定类型的所有编解码器,并且添加至少一个不同类型的编解码器。

可以交换其他sip或其他信令消息以建立会话;为了简洁和解释清楚,省略了这样的消息。在一些示例中,例如由于蜂窝漫游,会话中涉及其他网络网关系统142。在一些示例中,会话中涉及的每个网络网关系统142可以执行其自身的转码器负载处理,如本文所述。在一些示例中,网络网关系统142不交换转码器负载信息,尽管这不是必需的。

一旦建立会话,终端302和304就可以经由网络网关136交换数据。例如,终端302可以使用amr-wb编解码器传递会话数据322。终端304可以使用g.711编解码器传送会话数据324。

在框326中,在所示示例中,网络网关136可以在编解码器之间,例如在amr-wb和g.711之间进行转码。这可以允许没有共同编解码器的终端之间的通信。框326可以包括添加、移除、调整或替换会话数据322或324的分组的报头、有效载荷(或其一部分)或其他部分(例如,填充比特)。例如,evs可互操作(io)模式和amr-wb之间的转码可以在框326处通过在不改变有效载荷的情况下替换报头来完成,因为evsio模式和amr-wb共享有效载荷格式。在一些示例中,框326可以包括仅向终端304,仅向终端302或沿任一方向修改分组。在一些示例中,框326可以包括修改单播或多播通信会话的分组。至少部分地基于转码器负载而选择的编解码器之间的转码,例如,如本文参考框316所讨论的,与仅基于会话中的终端所提供的编解码器的选择相比,可以允许网络网关136处理更多的通信会话。

图4示出了从终端302到终端304(以及图3)的示例呼叫流程400。如图在图2中,终端304可以代表终端104或媒体服务器112。

在框402处,网络网关136可以确定其多个转码单元236的利用率,并且将该利用率报告给锚定网络设备106,例如本文参考框306讨论示例。

在框404处,网络网关136或锚定网络设备106(如图所示)可以确定利用率满足预定的负载标准。例如本文参考框308讨论示例。

在所示的示例中,终端302例如以具有sdp消息主体的sip邀请的形式发送发起请求406。本文例如参考发起请求310讨论示例。如图3所示,发起请求406可以是要约消息的示例。

如以上参考图3所讨论的,信息140的交换可以在由发起请求406的接收触发的网关控制消息交换中进行。因此,如图4所示,可以在接收到发起请求406之后而不是之前执行框402和404。

在框408处,锚定网络设备106可以例如通过调整其sdp主体来调整发起请求406中的能力信息。在一些示例中,框408可包括从发起请求406的编解码器列表中移除至少一个或全部编解码器。在一些示例中,框408可包括将至少一个编解码器添加至发起请求406的编解码器列表。添加可以在可用资源内进行转码的编解码器可能会增加成功建立会话的概率。此外,调整能力的信息可以防止终端304仅选择网络网关136不能支持的编解码器,例如由于转码器负载。

在所示的示例中,发起请求406指定opus和amr-wb编解码器。由于利用率满足预定的负载标准,因此在此示例中,锚定网络设备106从在所示示例中的编解码器列表中删除opus。此外,由于网络网关136上的可用转码器资源可以支持amr-wb和amr-nb之间的转码,因此锚定网络设备106将amr-nb添加到编解码器列表中以向终端304提供用于建立会话的附加选项。

锚定网络设备106向终端304提供第二发起请求410。在该示例中,第二发起请求410列出了amr-wb和amr-nb。终端304以sip183会话进度响应进行响应,如应答消息412所示。在该示例中,终端304可以支持amr-nb和g.711。由于发起请求406和应答消息412没有共同的编解码器,因此需要进行转码。

在框414,锚定网络设备106调整应答消息412以提供第二应答消息416。第二应答消息416被示为sip183响应,其列出amr-wb。锚定网络设备106可以将第二应答消息416发送到终端302。框414可以执行框316的其他功能。然而,在一些示例中,框414处的处理不需要或不考虑转码器负载。本文参考响应318描述第二应答消息416的示例。

同样地在框414处或框414之后,锚定网络设备106可以将会话改变消息418发送到终端304。会话改变消息418被示为指定g.711编解码器的sip更新消息,但这不是限制性的。本文参考请求320描述了会话改变消息的其他形式。在一些示例中,会话改变消息418被省略,并且基于应答消息412使用正常的要约/应答处理。

在框420中,网络网关136可以对数据进行转码,以允许终端302和304经由网络网关136交换已建立的会话的数据。例如,本文参考框326讨论示例。例如,终端302可以使用amr-wb编解码器传送会话数据422。终端304可以使用g.711编解码器传送会话数据424。

图5示出了从终端302到终端304(以及图3)的示例呼叫流程500。如在图2中,终端304可以代表终端104或媒体服务器112。呼叫流程500以建立的会话开始,在该会话中,终端302正在传送网络网关136在框504处到终端304的会话数据506或从终端304的会话数据506转码的会话数据502。本文例如参考框326讨论示例。使用呼叫流程500的操作的一些示例可以允许在已建立的会话中调整编解码器以减少负载并由此降低呼叫丢弃的概率。在所示的示例中,会话数据502使用opus编解码器,并且会话数据506使用amr-nb编解码器。如表1所示,这是一个相对较高负载的编解码器对。

在框508,网络网关136可以将其状态报告给锚定网络设备106。例如,如以上参考信息140所述,网络网关136可以响应于媒体控制消息,向锚定网络设备106提供指示其转码器利用率的信息140。本文例如参考框306讨论示例。

在框510,锚定网络设备可以确定利用率满足预定的负载标准。本文例如参考框308讨论示例。

在框512处,例如,响应于在框510处的确定,锚定网络设备106可以调整现有通信会话(包括会话数据502和506的会话)的能力信息。例如,锚定网络设备106可以例如通过从会话的终端304侧移除amr-nb来移除opus-amr-nb对的机会。

在框512处或框512之后,锚定网络设备106可以将一个或更多个会话改变消息发送到会话所涉及的至少一个终端。在所示的示例中,一个或更多个会话改变消息是sip重新邀请消息;可以附加地或替代地使用本文描述的其他会话改变消息。在一些示例中,代替自己发送一个或更多个会话改变消息,锚定网络设备106可以将媒体控制消息发送到网络网关136以使网络网关136发送一个或更多个会话改变消息。

在所示示例中,一个或更多个会话改变消息包括到终端302的sip重新邀请消息514和到终端304的sip重新邀请消息516。消息514列出了opus和pcmu编解码器。消息516列出了amr-wb和pcmu编解码器。在该示例中,无论终端302和304选择了这些编解码器中的哪一个,所得到的编解码器对将具有比框504处的转码更低的转码负载(参见表1)。在一些示例中,消息514和516中的至少一个(或两者)可以是更新请求而不是邀请请求,或者可以是其他会话改变消息。

在所示示例中,终端302以sip200ok响应518作为响应,该sip200ok响应518在sdp主体中列出了opus。终端304以sip200ok响应520作为响应,该响应在sdp主体中列出了amr-wb。在重新协商会话中一个或更多个终端的编解码器的过程中,也可以交换其他消息。为了简洁起见,省略了此类消息。

在从两个终端302、304接收到确认之后,锚定网络设备106可以引导网络网关136将用于会话的编解码器对从opus-amr-nb改变为opus-amr-wb,从而减少在网络网关136的转码器负载。然后,终端302可以传送opus格式的会话数据522。在框524,网络网关136可以在opus格式的会话数据522和amr-wb格式的会话数据526之间进行转码,以与终端304进行通信。

图6示出了用于在两个终端(例如,终端302和304)之间互通的示例过程600。所示出的过程600可以由控制单元执行,例如具有网络接口(例如,一个或更多个网络接口230)的网络网关系统142或锚定网络设备106和网络网关136的控制单元,其被配置为彼此互操作以执行所示的操作。在一些示例中,网络网关系统142可以包括一个或更多个处理器,该处理器被配置为例如响应于利用率模块232或调整模块234的计算机程序指令而执行以下(或在图7或图8中)描述的操作。在一些示例中,网络网关系统142或锚定网络设备106可以被配置为经由网络接口锚定至少两个通信会话。每个通信会话可以与至少两个终端(例如,终端302和304)相关联。

下面讨论图6和图7-14中所示的操作,除非另有说明,或者在较早的步骤中使用了来自较早步骤的数据时,可以按任何顺序执行。为了解释清楚,本文参考图1-5中所示的各种组件,操作和数据传输,其可以执行或参与示例方法步骤。但是,应该注意,可以使用其他组件,即,图6-14所示的一个或更多个示例方法不限于由所识别的组件执行,并且不限于使用所识别的操作和数据传输来执行。

在一些示例中,在框602处,控制单元可以经由网络接口锚定至少两个通信会话。例如,控制单元可以接收与至少两个通信会话中的每一个相关联的注册或其他信令业务,并且可以将关于那些会话的信息存储在控制单元的存储器中或对控制单元可访问。本文参考sip邀请和其他会话发起请求来讨论锚定的示例。

在一些示例中,在框604处,控制单元可以操作多个转码单元236中的各个转码单元236以对至少两个通信会话中的至少一个通信会话的数据进行转码。本文例如参考框326讨论示例。

在一些示例中,在框606处,控制单元可以确定多个转码单元236的利用率。例如,本文中参考利用率模块232和框306来讨论示例。例如,控制单元可以接收或检索信息140,并从信息140中提取或确定利用率。

在一些示例中,在框608,控制单元可以确定利用率满足预定的负载标准。本文例如参考利用率模块232、调整模块234和框308讨论示例。

在一些示例中,在框610,控制单元可以调整至少两个通信会话中的第一通信会话的能力信息,以减少网络网关系统142上的负载。例如,可以减少转码器的负载。可以响应于框608处的确定(“高负载”)来执行框610。本文例如参考调整模块234和框316讨论示例。

在利用率与预定的时间段相关联的一些示例中,控制单元被配置为在时间段开始之前调整能力信息(框610)。例如,框606可以包括预测将来某个时间的利用率,例如通过推断历史数据或通过操作在给定时间、日期或其他输入的情况下估计利用率的计算模型。然后,控制单元可以在该时间段之前,例如紧接在该时间段之前或在该时间段开始时执行框610。如本文中参考利用率模块232所讨论的,这可以允许主动响应负载变化。

在一些示例中,控制单元可以重复框606、608和610。例如,控制单元可以针对多个负载标准来测试利用率。在一些示例中,相继较高的负载可以触发相继更多限制性编解码器选择。控制单元可以针对负载标准反复调整测试利用率(框608),例如相继更高的负载标准,并且相应地调整能力信息(框610)。此外,相继较低的负载可以相继触发较少限制性编解码器选择。本文参考框812、814、1204、1206或1208描述示例。

示例性网络网关系统142可以被配置为支持evs(最优选)、opus、amr-wb、amr-nb和g.711(最不推荐)。示例网络网关系统142可以支持多达166个涉及到evs或从evs进行转码的呼叫(音频会话)。在一些示例中,第一负载标准是转码单元236上的50%的负载。响应于满足该标准,网络网关系统142可以将其优先级列表调整为opus(最优选)、amr-wb、amr-nb、g.711和evs(最不推荐)。然后,例如,如本文参考图7和图8所讨论的,可以指派新会话以使用opus代替evs。在一些示例中,第二负载标准是转码单元236上的75%的负载。响应于满足该标准,网络网关系统142可以将其优先级列表调整为amr-wb(最优选)、amr-nb、g.711、evs和opus(最不推荐)。在一些示例中,第三负载标准是转码单元236上的90%的负载。响应于满足该标准,网络网关系统142可以将其优先级列表调整为g.711作为唯一允许的选项。此示例性网络网关系统142最多可以支持245个同时呼叫,而不是166个。

图7示出了用于在两个终端(例如,终端302和304)之间互通的示例过程700。所示出的过程可以由控制单元来执行,如本文参考图6所讨论的。在一些示例中,框608之后可以是框702、704和706。在一些示例中,框610可以包括框706或708。因此,在一些示例中,框702-706可以应用于在框608处的确定之后发起的会话,由于与现有会话相关的负载,应减少转码器的负载。在一些示例中,例如,在其中框610包括框706的情况下,可以响应于框608处的确定执行框706,应当调整能力信息。

在一些示例中,网络网关系统142被配置为允许webrtc终端和lte终端之间的互通。在一些示例中,转码单元236包括以下至少之一:数字信号处理器(dsp)核或转码逻辑单元。在一些示例中,可以按照以下顺序中的至少一个来执行所示出的操作:604,606,608,610;604,606,608,702,704,706,610;606,608,610,604;606,608,702,704,706,610,604;702,704,706,606,608,610;或以框708包含在框610中或在框610之后的任何顺序。

在一些示例中,在框702处,控制单元可以从与第一通信会话相关联的第一终端(例如,终端302)接收第一通信会话的发起请求。发起请求可以至少指定第一编解码器和第二编解码器。本文例如参考发起请求310讨论示例。发起请求310可以指示第一多个编解码器,并且第一多个编解码器可以包括第一编解码器和第二编解码器。在一些示例中(例如,图3和图4),在确定利用率满足预定的负载标准之后(框608),可以执行框702,尽管如上所述,这不是必需的。

在一些示例中,在框704处,控制单元可以确定第一编解码器与比第二编解码器更高的转码负载相关联。例如,控制单元可以相对于会话中当前正在使用的一个或更多个其他编解码器来比较第一编解码器和第二编解码器的转码负载。在图3的示例中,控制单元可以将evs-opus转码与amr-wb-opus转码进行比较。附加地或替代地,控制单元可以例如穷举地或使用决策树来比较多个编解码器对的负载。例如,控制单元可以比较evs-opus、evs-g.711、amr-wb-opus和amr-wb-g.711。

在一些示例中,在框706,控制单元可以通过向与第一通信会话相关联的第二终端发送第二发起请求来调整能力信息。如上所述,可以响应于框608处的确定来执行框706,例如,作为框610的一部分。在一些示例中,在框610之前执行框702和704,并且框706作为框610的一部分执行。

例如,控制单元可以向诸如终端304之类的被叫终端发送sip邀请。第二发起请求可以省略第一编解码器,或者指示第二编解码器比第一编解码器更优选。为了简洁起见,后者被称为“降级”第一编解码器,例如,将其移至编解码器列表中的优先级较低的位置。例如,在sip邀请的sdp主体中,可以将第一编解码器从编解码器列表中删除,也可以将其放在第二编解码器之后的编解码器列表中。对编解码器列表的任何更改都会降低第二终端选择第一编解码器的可能性,从而可以减少转码器的负载。

在一些示例中,在框706,控制单元可以发送指示第三编解码器的第二发起请求。第三编解码器可以是编解码器,网络网关系统142被配置为转码到第一编解码器或第二编解码器中的至少一个编解码器。在示例中,g.711既不是第一编解码器也不是第二编解码器。但是,网络网关系统142被配置为在g.711和第一编解码器或第二编解码器中的至少一个之间进行转码。控制单元可以将g.711包含在第二发起请求中,例如,作为最优选的编解码器或编解码器列表中的另一个位置。这可以为第二终端提供附加的编解码器选项,并且增加第二终端选择相对低负载的编解码器的可能性。

例如,当锚定网络设备106参与会话的建立时,可以使用框702-706。关于现有会话,可以使用其他示例。一些这样的示例包括框708。

在一些示例中,在框708,控制单元可以通过将会话改变消息发送到与第一通信会话相关联的至少两个终端中的至少一个(例如,每个终端)来调整通信会话的能力信息。这可以允许改变现有的一个或更多个通信会话,例如第一通信会话,以减少由于那些通信会话而引起的转码器负载。例如,如本文中参考图3所论述,会话改变消息可以包括sip重新邀请消息或sip更新消息中的至少一个。在一些示例中,在会话的预建立阶段期间使用sip更新消息,并且在会话的已建立阶段期间使用重新邀请消息。在一些示例中,在框706处发送的第二发起请求可以是会话改变消息的示例。

图8示出了用于在两个终端(例如,终端302和304)之间互通的示例过程800。所示出的过程可以由控制单元来执行,如在此参考图6所讨论的。在一些示例中,框608之后可以是框802-810。因此,在一些示例中,框802-810可应用于例如在框608的确定之后发起会话,由于与现有会话相关联的负载,应减少转码器负载。附加地或可替代地,框802-810可以应用于例如响应于转码器负载改变而进行的现有会话的中间会话编解码器改变中。在一些示例中,如图所示,框610可以包括框810、812或814中的至少一个。在一些示例中,框610之后可以是框812和814。

在一些示例中,在框802处,控制单元可以从第一终端(例如,终端302)接收第一通信会话的要约消息。第一终端可以与第一通信会话相关联。要约消息可以指定第一编解码器和第二编解码器。框802之后可以是框804或框806。

一些示例可以使用后期转码,例如,如本文参考图3所讨论的。在一些示例中,在框804,控制单元可以将第二要约消息发送到第二终端。在一些示例中,可以在接收到要约消息之后(框802)并且在接收到应答消息之前(框806),执行框804。第二要约消息可以是不指示要约消息中指定的任何编解码器的消息,例如,不指示任何编解码器的消息。本文例如参考第二要约消息312讨论示例。

在一些示例中,在框806处,控制单元可以从与第一通信会话相关联的第二终端接收应答消息。应答消息可以指定第三编解码器。本文例如参考应答消息314讨论示例。

在一些示例中,在框808处,控制单元可以确定相对于第三编解码器,与第二编解码器相比,第一编解码器与更高的转码负载相关联。例如,第一编解码器可以是g.711,第二编解码器可以是amr-wb,第三编解码器可以是opus。控制单元可以确定与opus-wb-amr转码相比,opus-g.711转码与更高的转码负载相关联。

在一些示例中,在框810处,控制单元可以通过将第二应答消息发送到与第一通信会话相关联的第一终端来调整能力信息。在一些示例中,框810可以响应于利用率满足负载条件的确定(框608)来执行。第二应答消息可以省略第一编解码器,或者指示第二编解码器优选于第一编解码器。本文例如参考响应318讨论示例。继续前段的示例,第二应答消息可以省略g.711,或者可以指示wb-amr优选于g.711。这可以允许减少新到达的会话的转码器负载。

在一些示例中,在框706、708、804或810中的任何一个中,发送的消息可以包括重新排序的编解码器列表或指示编解码器的相对优先级的其他信息。附加地或可替代地,与触发传输的消息相比,所发送的消息可以包括指示编解码器列表或优先级已经改变的一个或更多个标志(例如布尔)值,或者特定的编解码器已经被添加到发送的消息或从发送的消息中移除。标志值或其他值可以例如作为现有或新sip报头中的新字段或现有或新sdp主体元素来发送。

在一些示例中,在框812处,控制单元可以确定多个转码单元的第二利用率满足预定释放标准。例如,控制单元可以确定第二利用率,如本文参考框606所讨论的,例如,在比在框606确定利用率晚的时间。这可以允许测试转码单元236是否仍然处于高负载下。控制单元可以如本文中参考测试利用率来测试第二利用率。在一些示例中,释放标准可以是本文针对负荷标准所述的任何类型或数学公式,仅在阈值以下而不是高于阈值下测试利用率。框812之后可以是框814。

附加地或替代地,如虚线箭头所示,在一些示例中,框812之后可以是框610。在一些示例中,在框610处,控制单元可以调整现有会话的能力信息以允许它们使用负载比以前更高的编解码器。例如,控制单元可以发送重新邀请或更新添加编解码器或更高负载的编解码器到编解码器列表,或者促进先前已降级的更高负载的编解码器(例如,指示其优先级已增加)。

在负载标准是至少50%的利用率的示例中,释放标准可以是小于40%的利用率。在一些示例中,每个负载标准可以具有例如负载标准的90%的相应的释放标准。负载标准或准则以及释放标准或准则可以具有滞后性地确定,如在50%/40%的示例中,或者没有滞后性(例如,负载和释放准则均指定50%的利用率)。在一些示例中,使用磁滞可以减少媒体能力的抖动(例如,频繁改变)。在一些示例中,例如,如本文参考图6所讨论的,涉及预测未来时间段的利用率,可以使用数学阻尼来进一步减少媒体能力的抖动。

在一些示例中,在框814处,网络网关系统142可以锚定第二通信会话,例如,新的通信会话或不同于第一通信会话的其他会话,而无需调整其能力信息。可以响应于框812处的确定来执行框814。例如,一旦转码器负载下降,则网络网关系统142可以返回到正常操作,在该正常操作中进行编解码器协商而无需考虑编解码器的转码器负载。当转码单元236轻载时,这可以提供会话的高质量媒体。

图9示出了用于在例如终端302和304的两个终端之间互通的示例过程900。所示出的过程900可以由控制单元执行,例如具有通信接口(例如,一个或更多个网络接口230,或ram或总线接口)的锚定网络设备106的控制单元或网络网关系统142的其他组件,这些组件被配置为与网络网关136互操作。在一些示例中,锚定网络设备106(或在前句中指出的其它组件,以及贯穿整个图9-12的讨论中是类似的)可以包括一个或更多个处理器,该处理器被配置为例如响应于调整模块的计算机程序指令执行以下(或在图10-12中)描述的操作234。

在一些示例中,在框902处,控制单元(例如,锚定网络设备106或网络网关系统142的)可以经由通信接口锚定至少两个通信会话。在一些示例中,每个通信会话可以与至少两个终端(例如,终端302和304)相关联。本文例如参考sip邀请或其他会话发起消息来讨论示例。在一些示例中,至少两个通信会话可以包括已建立的会话或预建立的会话(例如,在发起邀请时或发起邀请之后,但是在200ok响应之前)。

在一些示例中,在框904处,控制单元可以经由通信接口接收对多个转码单元236的利用率的指示。该利用率可以与通过多个转码单元的至少两个通信会话中的至少一个通信会话的数据的转码的操作相关联。至少两个通信会话中的至少一个可以包括例如通信会话之一,所有通信会话或它们之间的一部分通信会话。本文例如参考调整模块234讨论示例,该模块可以从利用率模块232接收信息。

在一些示例中,在框906处,控制单元可以确定利用率满足预定的负载标准。本文例如参考框608和404讨论示例。

在一些示例中,在框908处,控制单元可以调整至少两个通信会话中的第一通信会话的能力信息,以减少多个转码单元236上的负载。框908可以例如响应于在框906处利用率满足预定的负载标准(“高负载”)的确定而执行。本文例如参考框610和408讨论示例。例如,控制单元可以向被叫终端304提供经修改的邀请。

在一些示例中,利用率与预定的时间段相关联。在这些示例中的一些示例中,控制单元可以在时间段开始之前在框908处调整能力信息。本文例如参考框610讨论示例。这可以允许管理负载以减轻突然的需求峰值的影响。

图10示出了用于在两个终端(例如,终端302和304)之间互通的示例过程1000。所示出的过程可以由控制单元来执行,如本文参考图9所讨论的。在一些示例中,框906之后可以是框1002、1004或1006,或者之后是框1006。在一些示例中,框908可以包括框1006或1008。

在一些示例中,在框1002,控制单元可以从与第一通信会话相关联的第一终端接收第一通信会话的发起请求(以上参考框908讨论)。发起请求可以至少指定第一编解码器和第二编解码器。在一些示例中(例如,图3和图4),在确定利用率满足预定的负载标准之后(框906),可以执行框1002。在其他示例中,框1002可以在框906之前执行,例如,如本文参考信息140所述的。框1002的示例,例如参考框702进行讨论。

在一些示例中,在框1004,控制单元可以确定与第二编解码器相比,第一编解码器与更高的转码负载相关联。本文例如参考框704讨论示例。

在一些示例中,在框1006,控制单元可以通过将第二发起请求发送到与通信会话相关联的第二终端来调整能力信息。本文例如参考框706讨论示例。在一些示例中,第二发起请求或者省略第一编解码器,或者指示第二编解码器比第一编解码器更优选。可以响应于框906而执行框1006,例如,作为框908的一部分。在一些示例中,在框908之前执行框1002和1004,并且作为框908的一部分执行框1006。

在一些示例中,在框1008,控制单元可以通过将会话改变消息发送到与第一通信会话相关联的至少两个终端中的至少一个来调整第一通信会话的能力信息。本文例如参考框708讨论示例。

图11示出了用于在两个终端(例如,终端302和304)之间互通的示例过程1100。所示出的过程可以由控制单元来执行,如本文参考图9所讨论的。在一些示例中,框1102和1104在框904之前。在一些示例中,框906之后可以是框1112和1114。在一些示例中,框906之后可以是框1106、1108、1110、1112和1114。在一些示例中,框908可以包括框1112和1114。

在一些示例中,在框1102处,控制单元可以经由通信接口接收与在框902处提及的至少两个通信会话中的第二通信会话相关联的呼叫状态消息。框1102可以例如在框904处接收到利用率的指示之前执行。

在一些示例中,在框1104,控制单元可以经由通信接口发送网关控制消息。网关控制消息可以包括第二通信会话的指示,例如,以使网络网关136针对所指示的第二通信会话采取某种动作。网关控制消息还可以包括用于指示利用率的请求。本文例如参考信息140或利用率模块232讨论示例。本文参考图13和图14描述网关控制消息的处理示例。框1104之后可以是框904。

在一些示例中,在框1106,控制单元可以从与第一通信会话相关联的第一终端(例如,终端302)接收第一通信会话的要约消息。要约消息可以是例如sip邀请或其他会话发起消息,或会话更改消息。该要约消息可以指定第一能力集,例如,编解码器列表。在一些示例中,框1106之后可以是框1108或框1110。

在一些示例中,在框1108,控制单元可以向与第一通信会话相关联的第二终端(例如,终端304)发送第二要约消息。在后期转码的一些示例中,第二要约消息不指示要约消息中指定的任何编解码器。本文例如参考消息312讨论示例。

在一些示例中,在框1110,控制单元可以从第二终端接收应答消息。例如,应答消息可以包括对邀请的sip答复。应答消息可以指定第二能力集,例如编解码器列表。本文例如参考消息314讨论示例。

在一些示例中,在框1112,控制单元可以至少部分地基于第一能力集合和第二能力集合来确定第一能力。框1112可以例如响应于在框906处的利用率满足预定的负载标准的确定而执行。本文例如参考框316讨论示例。

在一些示例中,控制单元可以确定第一能力集和第二能力集的公共子集。然后,控制单元可以从公共子集中确定第一能力,从而第一能力既在第一能力集中,又在第二能力集中。

附加地或可替代地,控制单元可以确定第一能力集中的能力(例如,编解码器)与第二能力集中的能力之间的多个可能的转码操作。然后,控制单元可以选择满足预定标准或准则或其他准则的转码操作,例如,成本最低的转码操作(转码单元资源使用),低于预定阈值的成本最高的操作(在可能的情况下提供高质量),中间成本的操作(以平衡可用性和质量)。

在一些示例中,在框1114,控制单元可以将第二应答消息发送到与第一通信会话相关联的第一终端。第二应答消息可以指定第一能力。本文例如参考响应318讨论示例。

图12示出了用于在两个终端(例如,终端302和304)之间互通的示例过程1200。所示出的过程可以由控制单元来执行,如本文参考图9所讨论的。在一些示例中,框1202在框906之后并且在框908之前。在一些示例中,框1102之后可以是框1202。在一些示例中,框908之后可以是框1204、1206和1208。在一些示例中,在框1206之后可以是框908。

在一些示例中,在框1202,控制单元可以至少部分地基于预定选择规则来选择第一通信会话。上面参考框908讨论了第一通信会话。第二通信会话可以与第一通信会话不同。术语“第一”和“第二”仅用于区分会话,并不代表任何相对顺序或重要性。

如上所述,框906之后可以是框1202。框1202之后可以是框908。因此,在一些使用框1202的示例中,可以在框908处调整所选择的第一通信会话的能力信息,以减少多个转码单元236上的负载。

在使用框1102的一些示例中,与一个会话相关联的呼叫状态消息的接收可以触发对另一会话的能力的调整。例如,在一个会话的建立或解除时接收到呼叫状态消息会触发对另一个已建立会话的功能的调整。这可以允许调整已建立会话的能力,而不需要针对那些已建立会话发送附加的呼叫状态消息。

在一些示例中,在框1204,控制单元可以经由通信接口接收多个转码单元的第二利用率的指示。例如,可以在网关控制交换机中承载该指示,例如,如本文参考信息140或框306或1404所讨论的。

在一些示例中,在框1206处,控制单元可以确定多个转码单元的第二利用率满足预定释放标准。本文例如参考框812讨论示例。如上所述,在一些示例中,这可以提供滞后以减少媒体能力的抖动。

在一些示例中,框1206之后可以是框908。这可以允许响应于框1206处的确定来调整其他会话。本文例如参照框812来讨论示例。另外或替代地,框1206之后可以是框1208。

在一些示例中,在框1208,控制单元可以响应于框1206的确定,锚定第二通信会话而不调整其能力信息。本文例如参考框814讨论示例。

图13示出了用于在两个终端(例如,终端302和304)以及相关联的数据项之间进行互通的示例过程1300。所示出的过程1300可以由控制单元执行,例如具有网络接口230的网络网关136的控制单元,该网络网关136被配置为传送至少两个通信会话的数据,并且具有多个转码单元236。附加地或可替换地,过程1300可以由配置为与锚定网络设备106互操作的网络网关系统142的组件来执行。在一些示例中,网络网关136(在前句中所述的其它组件,以及贯穿图13和图14的讨论中是类似的)可以包括一个或更多个处理器,该处理器被配置为例如响应于利用率模块232的计算机程序指令而执行以下描述的操作(或在图14中所示的)。

在一些示例中,在框1302,控制单元可以操作多个转码单元236中的各个转码单元,以对至少两个通信会话中的至少一个的数据进行转码。例如,控制单元可以产生进程,设置多路复用器或执行其他操作以经由配置为执行适于一个或更多个会话的一个或更多个转码操作的转码单元236将至少两个通信会话中的至少一个的数据通过网络网关136传递。

在一些示例中,在框1304,控制单元可以确定多个转码单元236的容量或利用率的信息140。本文例如参考转码138或利用率模块232来讨论示例。

在一些示例中,在框1306,控制单元可以经由网络接口发送容量或利用率的信息140。本文例如参考利用率模块232或框1404讨论示例。

图14示出了用于在两个终端(例如,终端302和304)之间互通的示例过程1400。所示出的过程可以由网络网关执行,如本文参考图13所讨论的。在一些示例中,框1402可以在框1306之前。在一些示例中,框1306可以包括框1404。在一些示例中,框1306之后可以是框1406和1408。

在一些示例中,在框1402,控制单元可以接收网关控制消息,例如,h.248消息。本文例如参考信息140或框306讨论示例。

在一些示例中,在框1404处,控制单元可以在对网关控制消息的答复内、伴随网关控制消息的答复,或与网关控制消息的答复相关联地发送容量或利用率的信息。本文例如参考信息140、利用率模块232或框306讨论示例。框1404可以响应于在框1402接收的网关控制消息来执行。如上所述,这可以允许提供具有更新的信息140的锚定网络设备106,与信息140的单独传输相比,具有减少的带宽使用。

在一些示例中,在框1406,控制单元可以接收网关控制消息。可以例如在在框1306或1404处发送信息140之后执行框1406。在框1406处接收的网关控制消息可以标识至少两个通信会话中的第一通信会话,例如,已建立的会话或不久将过渡到已建立状态的会话。网关控制消息可以附加地标识转码操作,例如,特定的编解码器对或在第一通信会话中使用的其他能力。

在一些示例中,在框1408,控制单元可以配置多个转码单元中的至少一个转码单元,以针对在网关控制消息中标识的第一通信会话执行转码操作。例如,控制单元可以经由被配置为例如单向或双向地执行转码操作的转码单元236来生成进程,设置多路复用器或执行其他操作以通过网络网关136传递第一通信会话的数据。

说明性特征选择和组合

参照图3、图4和图5,在一些示例中,网络网关系统142或其组件(例如,锚定网络设备106或网络网关136)可以执行本文参考图3、图4或图5描述的处理,例如一次执行一次或每次会话执行一次。例如,网络网关系统142可以将呼叫流程300、400和500之一的操作用于某些会话,并且将呼叫流程300、400和500的不同的之一的操作用于其他会话,这取决于会话中涉及的特定终端连接的接入网,或取决于这些终端的能力。

在一些示例中,响应于利用率满足标准(框308、404或510),网络网关系统142可以调整至少一个终端使用或与之相关联的一个或更多个编解码器或其他能力。例如,网络网关系统142可以调整终端302而不是终端304的能力,终端304而不是终端302的能力或者终端302和终端304两者的能力。在涉及两个以上终端的会话中,网络网关系统142可以调整会话中的至少一个终端(例如一个终端,多于一个但少于全部终端,或所有终端)的能力。

如本文中参考信息140所讨论的,在一些示例中,除了或代替相对于预建立阶段中的新会话,可以针对已建立的会话执行负载处理128。在一些示例中,锚定网络设备106可以基于至少一个预定选择规则来选择至少一个会话以进行修改。在各种示例中,选择规则可以应用于候选集,该候选集包括以下各项中的至少一项:已建立的会话的全部或子集;预建立的会话的全部或子集;以及已建立的会话和预建立的会话的全部或子集。例如,选择规则可以是以下至少一项:从候选集中随机选择;从候选集中以循环顺序选择;在候选集中选择建立时间最长(最旧)的会话;或在候选集中选择建立时间最短(最新)的会话。

附加地或替代地,选择规则可以从候选集中选择已经被重新协商或已经被选择要重新协商的会话。例如,当蜂窝终端从一种类型的接入网切换到另一种类型的接入网时,由于切换,它可能需要改变编解码器。因此,锚定网络设备106可以控制编解码器改变以支持新的接入网并减少转码器负载。在另一示例中,当呼叫被保持时,其媒体类型可以改变(例如,通过移除音频流),或者其媒体源可以改变(例如,从另一方的终端到保持音乐的源)。当呼叫从保持状态中移除时,锚定网络设备106可以控制编解码器更改或相应的更改,以减少转码器的负载。以这种方式将负载处理128与其他会话改变相结合可以允许减少转码器负载,与发送用于负载处理的会话改变消息和用于其他会话改变的单独会话改变消息相比,具有减少的信令带宽。

该段落明确地设想了前三段中给出的所列出的终端应用程序(例如,会话中的一个或更多个终端)、(可以修改的会话的)候选集和选择规则(用于确定哪个或哪些候选会话将被修改)的每个组合。例如,可以首先选择建立时间最长的会话的被叫终端进行修改以减少转码器的负载。当要修改多个会话以减少转码器的负载时,本段明确设想使用相同的组合选择至少两个会话,或使用各自的不同组合选择每个会话,或这些会话的任何组合。例如,可以使用三种不同的组合来分别选择三个会话。

条款示例

a:一种网络网关系统,包括:网络接口;多个转码单元;以及控制单元,其被配置为:经由网络接口锚定至少两个通信会话,其中每个通信会话与至少两个终端相关联;操作多个转码单元中的各个转码单元以对至少两个通信会话中的至少一个通信会话的数据进行转码;确定多个转码单元的利用率;确定利用率满足预定的负载标准;以及作为响应,调整至少两个通信会话中的第一通信会话的能力信息,以减少网络网关系统的负载。

b:根据段落a的网络网关系统,其中控制单元被配置为通过将会话改变消息发送到与第一通信会话相关联的至少两个终端中的至少一个来调整第一通信会话的能力信息。

c:根据段落a或b的网络网关系统,其中会话改变消息包括会话发起协议(sip)重新邀请消息或sip更新消息中的至少一个。

d:根据段落a-c中的任一段的网络网关系统,其中控制单元被配置为:从与第一通信会话相关联的第一终端接收第一通信会话的发起请求,该发起请求至少指定第一编解码器和第二编解码器;确定第一编解码器与比第二编解码器更高的转码负载相关联;以及响应于确定利用率满足预定的负载标准,通过向与第一通信会话相关联的第二终端发送第二发起请求,来调整能力信息,其中第二发起请求将:省略第一编解码器;或指示第二编解码器优选于第一编解码器。

e:根据段落d的网络网关系统,其中控制单元还被配置为发送指示第三编解码器的第二发起请求,其中网络网关系统被配置为将第三编解码器转码为第一编解码器或第二编解码器中的至少一个。

f:根据段落a-e中的任一段的网络网关系统,其中控制单元被配置为:从与第一通信会话相关联的第一终端接收第一通信会话的要约消息,该要约消息指定第一编解码器和第二编解码器;从与第一通信会话相关联的第二终端接收应答消息,该应答消息指定第三编解码器;确定相对于第三编解码器,第一编解码器与比第二编解码器更高的转码负载相关联;以及响应于确定利用率满足预定的负载标准,通过向与第一通信会话相关联的第一终端发送第二应答消息来调整能力信息,其中第二应答消息将:省略第一编解码器;或指示第二编解码器优选于第一编解码器。

g:根据段落f的网络网关系统,其中控制单元还被配置为在接收要约消息之后并且在接收应答消息之前,向第二终端发送第二要约消息,第二要约消息为不指示要约消息中指定的任何编解码器。

h:根据段落a-g中任一段的网络网关系统,其中网络网关系统被配置为允许网页实时通信(webrtc)终端与长期演进(lte)终端之间的互通。

i:根据段落a-h中的任一段的网络网关系统,其中转码单元包括以下中的至少一个:数字信号处理器(dsp)核或转码逻辑单元。

j:根据段落a-i中任一段的网络网关系统,其中:利用率与预定的时间段相关联;以及控制单元被配置为在该时间段开始之前调整能力信息。

k:根据段落a-j中任一段的网络网关系统,其中控制单元被配置为在调整能力信息之后:确定多个转码单元的第二利用率满足预定的释放标准;以及作为响应,锚定第二通信会话而不调整其能力信息。

l:锚定网络设备,包括:通信接口;以及控制单元,其被配置为:经由通信接口锚定至少两个通信会话,其中每个通信会话与至少两个终端相关联;经由通信接口接收对多个转码单元的利用率的指示,利用率与多个转码单元对至少两个通信会话中的至少一个通信会话的数据的转码相关联;确定利用率满足预定的负载标准;以及作为响应,调整至少两个通信会话中的第一通信会话的能力信息以减少多个转码单元的负载。

m:根据段落l所述的锚定网络设备,其中控制单元被配置为通过向与第一通信会话关联的至少两个终端中的至少一个终端发送会话改变消息来调整第一通信会话的能力信息。

n:根据段落l或m的锚定网络设备,其中控制单元还被配置为在接收利用率的指示之前:经由通信接口接收与至少两个通信会话的第二通信会话相关联的呼叫状态消息;以及经由通信接口发送网关控制消息,该网关控制消息包括:第二通信会话的指示;以及用于利用率的指示的请求。

o:根据段落n的锚定网络设备,其中控制单元还被配置为至少部分地基于预定的选择规则来选择第一通信会话,其中第二通信会话不同于第一通信会话。

p:根据段落l-o中的任一段的锚定网络设备,其中控制单元被配置为:从与第一通信会话相关联的第一终端接收第一通信会话的发起请求,该发起请求指定至少第一编解码器和第二编解码器;确定第一编解码器与比第二编解码器更高的转码负载相关联;以及响应于确定利用率满足预定的负载标准,通过向与第一通信会话相关联的第二终端发送第二发起请求来调整能力信息,其中第二发起请求将:省略第一编解码器;或指示第二编解码器优选于第一编解码器。

q:根据段落l-p中任一段所述的锚定网络设备,其中控制单元还被配置为:从与第一通信会话相关联的第一终端接收第一通信会话的要约消息,该要约消息指定第一能力集;向与第一通信会话相关联的第二终端发送第二要约消息;从第二终端接收应答消息,该应答消息指定第二能力集;响应于确定利用率满足预定的负载标准,至少部分地基于第一能力集和第二能力集来确定第一能力;以及向与所述第一通信会话相关联的第一终端发送第二应答消息,该第二应答消息指定该第一能力。

r:根据段落q的锚定网络设备,其中第二要约消息不指示在要约消息中指定的任何编解码器。

s:根据段落l-r中的任一段的锚定网络设备,其中利用率与预定的时间段相关联;以及控制单元被配置为在该时间段开始之前调整能力信息。

t:根据段落l-s中的任一项所述的锚定网络设备,其中所述控制单元被配置为:在调整能力信息之后:经由通信接口,接收多个转码单元的第二利用率的指示;确定多个转码单元的第二利用率满足预定的释放标准;以及作为响应,锚定第二通信会话而不调整其能力信息。

u:根据段落l-t中的任一段的锚定网络设备,其中控制单元被配置为至少部分地通过从能力信息中移除预定类型的所有编解码器来调整能力信息。

v:一种网络网关,包括:多个转码单元;网络接口,其被配置为传送至少两个通信会话的数据;以及控制单元,其被配置为:操作多个转码单元中的各个转码单元以对至少两个通信会话中的至少一个的数据进行转码;确定多个转码单元的容量或利用率的信息;以及经由网络接口传输该信息。

w:根据段落v的网络网关,控制单元还被配置为:接收网关控制消息;以及作为响应,在对网关控制消息的答复内、伴随对网关控制消息的答复,或与对网关控制消息的答复相关联地发送容量或利用率的信息。

x:根据段落v或w所述的网络网关,所述控制单元还被配置为:在发送容量或利用率信息后,接收网关控制消息,所述网关控制消息标识:至少两个通信会话的第一通信会话;以及转码操作;并且配置多个转码单元中的至少一个转码单元以针对第一通信会话执行转码操作。

y:一种方法,包括由控制单元执行段落a-k中任一段所述的操作。

z:一种计算机可读介质,例如计算机存储介质,在其上具有计算机可执行指令,该计算机可执行指令在执行时将计算机配置为执行段落a-k中任一段所述的操作。

aa:一种系统,包括:用于处理的装置;以及用于存储以其上具有计算机可执行指令的装置,该计算机可执行指令包括配置系统以执行段落a-k中任一段所述的方法的装置。

ab:一种方法,包括由控制单元执行根据段落l-u中任一段所述的操作。

ac:一种计算机可读介质,例如计算机存储介质,其上具有计算机可执行指令,该计算机可执行指令在执行时将计算机配置为执行段落l-u中任一段所述的操作。

ad:一种系统,包括:用于处理的装置;以及用于存储以其上具有计算机可执行指令的装置,该计算机可执行指令包括配置系统以执行段落l-u中任一段所述的方法的装置。

ae:一种方法,包括由控制单元执行段落v-x中任一段所述的操作。

af:一种计算机可读介质,例如计算机存储介质,在其上具有计算机可执行指令,该计算机可执行指令在执行时将计算机配置为执行段落v-x中任一段所述的操作。

ag:一种系统,包括:用于处理的装置;以及用于存储以其上具有计算机可执行指令的装置,该计算机可执行指令包括配置系统以执行段落v-x中任一段所述的方法的装置。

结论

在附图中,示例数据传送(并行),呼叫流程图中的示例数据交换,以及过程图中代表一个或更多个操作的示例框,可以以硬件、软件或其组合实现以发送或接收所描的数据或执行所描述的交换。在软件的上下文中,所示的框和交换代表计算机可执行指令,当由一个或更多个处理器执行时,使得处理器传送或接收所述数据。通常,例如存储在定义操作逻辑的程序模块中的计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。除非在此明确阐述,否则描述传送的顺序不旨在被解释为限制,并且可以以任何顺序和/或并行地组合任何数量的所描述的传送以实现这些过程。

可以使用其他架构来实现所描述的功能,并且旨在落入本公开的范围内。此外,虽然为了讨论的目的在上面定义了具体的责任分配,但是可以根据具体情况以不同的方式分配和划分各种职能和责任。

类似地,可以以各种方式并使用不同的手段来存储和分发软件,并且可以以许多不同的方式改变上述特定的软件存储和执行配置。因此,实现上述技术的软件可以分布在各种类型的计算机可读介质上,不限于具体描述的存储器形式。

除非另有明确说明,否则本文中以包括性含义使用词“或”和短语“和/或”。因此,诸如但不限于短语“x,y或z”,“至少x,y或z”,“x,y或z至少之一”“x,y或z中的一个或更多个”和/或任何用“和/或”代替“或”的短语,除非另外特别说明,否则应理解为项目、术语等可以是x或y或z或其任何元素的组合(例如xy、xz、yz和/或xyz的组合)。本文中对“x或y或两者”或“x或y或其组合”等短语的任何使用均是为了解释清楚,并不意味着诸如“x或y”之类的语言排除了x和y的可能性,除非明确指出不包含这种情况。除非另有明确说明,否则如本文所用,诸如“一个或更多个x”之类的语言应被视为与“至少一个x”同义。在各种示例中,对“一个或更多个x”的任何表述均表示所描述的步骤、操作、结构或其他特征例如可以包括或相对于一个或更多个x执行,且所描述的主题无论存在的x的数量如何都可以运行,只要该数量大于或等于1。

此外,尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应该理解,所附权利要求书中定义的主题不必限于所描述的特定特征或动作。相反,公开了特定的特征和动作作为实现权利要求的示例形式。此外,在权利要求中,对前面的权利要求条款所提供的一组项目的任何引用都是对一组项目中的至少一些项目的引用,除非另有明确说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1