用于语音数据传输的设备、方法、介质和计算机程序产品与流程

文档序号:30798929发布日期:2022-07-19 21:23阅读:102来源:国知局
用于语音数据传输的设备、方法、介质和计算机程序产品与流程

1.本公开涉及用于语音数据传输的设备、方法、介质和计算机程序产品。更具体地,本公开涉及在可能涉及国际呼叫的语音数据传输中调整用于发送语音数据的一个或多个分组的跳数限制值的方案。


背景技术:

2.在网络中传输数据分组时,该数据分组可能需要经过多个转发节点(诸如路由器之类)才能从发送端到达目的地端。但是,出于各种各样的原因(例如,网络中转发设备的故障、配置错误等),网络中可能产生乒乓路由或回环路由,从而导致数据分组在一个传输闭环内无限循环而无法到达目的地。因此,引入了限制数据分组在网络中的转发跳数/寿命的跳数限制值。当数据分组(例如网际协议(ip)分组)在网络中传输时,每经过一个转发节点(例如,路由器),该数据分组的跳数限制值就被减1。如果一个数据分组的跳数限制值变为零,那么该数据分组将被丢弃。传统地,跳数限制值被静态地设置为默认值(例如,64),并且跳数限制值的设置与数据分组的目的地无关。
3.但是,随着网络的发展,产生了越来越多的应用场景,并且越来越多的设备被加入计算机网络。为了适应这些变化,网络的结构变得越来越复杂,例如,产生了更多的子网并且更多的转发设备被加入到网络中,这导致数据分组传输可能会经历更多的跳数。特别地,在经由因特网建立语音会话的场景下(诸如,ip电话、视频通话之类),语音数据分组的传输尤其可能经历更多的跳数。
4.在这种情况下,如果延用传统的静态设置跳数限制默认值的方案,可能导致语音数据分组在还未到达目的地之前就被不恰当地丢弃,从而导致通话质量下降。
5.因此,需要一种适应于更复杂的网络的跳数限制值的设置方案。


技术实现要素:

6.本公开提出了一种基于呼叫来动态设置用于语音数据分组的跳数限制值的方案。
7.根据本公开的一个方面,提出了一种用于语音数据传输的设备,所述设备包括处理器和存储有计算机可执行指令的存储器,当所述计算机可执行指令被所述处理器执行时,使所述设备执行以下操作:与另一设备建立用于语音数据传输的呼叫连接,在建立所述呼叫连接中:解析识别所述另一设备的号码以确定所述语音数据传输是否与国际呼叫相关联,和响应于通过解析所述号码确定所述语音数据传输与国际呼叫相关联,将用于所述语音数据传输的跳数限制值确定为大于默认跳数限制值的第一值,或者响应于通过解析所述号码确定所述语音数据传输不与国际呼叫相关联,将用于所述语音数据传输的跳数限制值确定为默认跳数限制值;基于在建立所述呼叫连接时确定的跳数限制值来生成用于发送语音数据的一个或多个分组。
8.在一些实施例中,解析识别所述另一设备的号码包括:确定所述号码中包含的国家代码是否与在所述设备处存储的国家代码列表中的任一国家代码相匹配,和响应于所述
号码中包含的国家代码与所述国家代码列表中的任一国家代码相匹配,确定所述语音数据传输与国际呼叫相关联。
9.在一些实施例中,解析识别所述另一设备的号码包括:确定所述号码的主体部分是否以预定代码开始,和响应于所述号码的主体部分以预定代码开始,确定所述语音数据传输与国际呼叫相关联。
10.在一些实施例中,所述第一值小于预定阈值,该预定阈值小于建立所述呼叫连接所使用的协议规定的最大跳数限制值,和/或所述第一值是预先配置的值。
11.在一些实施例中,所述设备是呼叫的主叫方设备或被叫方设备。
12.在一些实施例中,所述跳数限制值是生存时间ttl值。
13.根据本公开的一个方面,提出了一种用于语音数据传输的方法,包括:作为用于语音数据传输的呼叫的一端建立与所述呼叫的另一端的呼叫连接,在建立所述呼叫连接中:解析识别所述另一端的号码以确定所述语音数据传输是否与国际呼叫相关联,和响应于通过解析所述号码确定所述语音数据传输与国际呼叫相关联,将用于所述语音数据传输的跳数限制值确定为大于默认跳数限制值的第一值,或者响应于通过解析所述号码确定所述语音数据传输不与国际呼叫相关联,将用于所述语音数据传输的跳数限制值确定为默认跳数限制值;基于在建立所述呼叫连接时确定的跳数限制值来生成用于发送语音数据的一个或多个分组。
14.在一些实施例中,解析识别所述另一端的号码包括:确定所述号码中包含的国家代码是否与在所述设备处存储的国家代码列表中的任一国家代码相匹配,和响应于所述号码中包含的国家代码与所述国家代码列表中的任一国家代码相匹配,确定所述语音数据传输与国际呼叫相关联。
15.在一些实施例中,解析识别所述另一端的号码包括:确定所述号码的主体部分是否以预定代码开始,和响应于所述号码的主体部分以预定代码开始,确定所述语音数据传输与国际呼叫相关联。
16.在一些实施例中,所述第一值小于预定阈值,该预定阈值小于建立所述呼叫连接所使用的协议规定的最大跳数限制值,和/或所述第一值是预先配置的值。
17.在一些实施例中,所述方法是由所述呼叫的主叫方或被叫方执行的。
18.在一些实施例中,所述跳数限制值是生存时间ttl值。
19.根据本公开的一个方面,提出了一种存储有计算机可执行指令的计算机可读介质,当所述计算机可执行指令被处理器执行时,使得所述处理器执行用于语音数据传输的方法,所述方法包括作为用于语音数据传输的呼叫的一端建立与所述呼叫的另一端的呼叫连接,在建立所述呼叫连接中:解析识别所述另一端的号码以确定所述语音数据传输是否与国际呼叫相关联,和响应于通过解析所述号码确定所述语音数据传输与国际呼叫相关联,将用于所述语音数据传输的跳数限制值确定为大于默认跳数限制值的第一值,或者响应于通过解析所述号码确定所述语音数据传输不与国际呼叫相关联,将用于所述语音数据传输的跳数限制值确定为默认跳数限制值;基于在建立所述呼叫连接时确定的跳数限制值来生成用于发送语音数据的一个或多个分组。
20.在一些实施例中,解析识别所述另一端的号码包括:确定所述号码中包含的国家代码是否与在所述设备处存储的国家代码列表中的任一国家代码相匹配,和响应于所述号
码中包含的国家代码与所述国家代码列表中的任一国家代码相匹配,确定所述语音数据传输与国际呼叫相关联。
21.在一些实施例中,解析识别所述另一端的号码包括:确定所述号码的主体部分是否以预定代码开始,和响应于所述号码的主体部分以预定代码开始,确定所述语音数据传输与国际呼叫相关联。
22.在一些实施例中,所述第一值小于预定阈值,该预定阈值小于建立所述呼叫连接所使用的协议规定的最大跳数限制值,和/或所述第一值是预先配置的值。
23.在一些实施例中,所述方法是由所述呼叫的主叫方或被叫方执行的。
24.在一些实施例中,所述跳数限制值是生存时间ttl值。
25.根据本公开的一个方面,提出了计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现如前所述的方法的步骤。
附图说明
26.并入说明书中并且构成说明书的一部分的附图示出了本公开的实施例,并且与描述一起用于说明本公开的原理。
27.图1是根据本公开的实施例的通信场景示意图;
28.图2示出了可以实现根据本公开的实施例的电子设备的示例性配置;
29.图3是根据本公开的实施例的用于语音数据传输的方法的流程图的示意图;和
30.图4示出了包括指示特定的服务和/或资费的字母/数字组合的号码示例。
具体实施方式
31.下面将参考附图来详细描述本公开的实施例。
32.在本部分中提供了根据本文所述实施方案的装置和方法的代表性应用。提供这些示例仅是为了添加上下文并有助于理解所述实施方案。对于本领域的技术人员因此将清楚的是,本公开所述的实施方案可在不具有这些具体细节中的一些或全部的情况下实施。在其它情况下,未详细描述熟知的方面,以便避免不必要地模糊本公开所述的实施方案。其它应用也是可能的,使得以下示例不应视为是限制性的。
33.请注意,类似的参考数字和字母指的是图中的类似的项目,因而一旦在一幅图中定义了一个项目,就不需要在之后的图中讨论了。
34.如在上文中解释的,随着网络结构变得愈发复杂,在经由因特网建立语音会话的场景下(诸如,ip电话、视频通话之类),语音数据分组的传输可能经历比传统场景更多的跳数,从而导致传统的默认跳数限制值不足以支持一些语音数据包顺利到达目的地。特别地,在经由计算机网络来进行国际长途呼叫的情况下,语音数据分组可能要跨越非常复杂的网络以抵达目的地。
35.如图1的通信场景所示,当位于中国的a经由因特网呼叫位于美国的b时,语音数据分组可能要经历非常多数量的转发,即经历比非长途呼叫更多的跳数才能到达位于美国的目的地。这种情况在网络出现异常(例如,网络出现拥塞导致某些较短的转发路径无法使用)的情况下可能会变得更为突出。因此,在国际长途呼叫的情况下,如果延用传统的静态设置的默认跳数限制值,语音数据分组很可能在还未到达目的地之前就被不恰当地丢弃,
从而导致通话质量下降。
36.为了克服现有技术的这些缺点,本公开提出了一种灵活调整跳数限制值的方案。本公开方案的基本构思如下:在经由计算机网络(例如,基于ip协议的网络)建立用于语音数据分组传输的呼叫期间(例如,建立语音会话的信令过程期间),呼叫双方可以基于识别主叫方和/或被叫方的号码(例如,电话号码)来判定即将建立的语音会话是否涉及国际呼叫,并且在确定该会话涉及国际呼叫的情况下,将用于该呼叫期间的语音数据分组传输的跳数限制值设置为比默认跳数限制值更大的值,从而避免不恰当的语音分组丢失。
37.下面将结合附图详细说明本公开的实施例。
38.图2示出了可以实现根据本公开的实施例的电子设备的示例性配置。图2示出的电子设备200可以用于根据本公开的网络设备。电子设备200包括处理子系统210、存储器子系统212和联网子系统214。处理子系统210包括配置成执行计算操作的一个或多个设备。例如,处理子系统210可以包括一个或多个微处理器、asic、微控制器、可编程逻辑设备、图形处理器单元(gpu)和/或一个或多个数字信号处理器(dsp)。
39.存储器子系统212包括用于存储数据和/或存储用于处理子系统210和联网子系统214的指令的一个或多个设备。例如,存储器子系统212可以包括动态随机存取存储器(dram)、静态随机存取存储器(sram)和/或其他类型的存储器(有时统称为或者单独称为“计算机可读存储介质”)。在一些实施例中,用于处理子系统210的存储器子系统212中的指令包括:一个或多个程序模块或指令集(诸如程序指令222或操作系统224),其可以由处理子系统210执行。此外,存储器子系统212中的各种模块中的指令可以以下述来实现:高级程序语言、面向对象的编程语言和/或以汇编或机器语言。此外,编程语言可以被编译或解释,例如,可配置或已配置(在本讨论中可以互换使用),以由处理子系统210执行。
40.另外,存储器子系统212可以包括用于控制对存储器的访问的机制。在一些实施例中,存储器子系统212包括存储器层级,该存储器层级包括耦合到电子设备200中的存储器的一个或多个高速缓存。在这些实施例中的一些中,高速缓存中的一个或多个位于处理子系统210中。
41.联网子系统214包括被配置成耦合到有线和/或无线网络并在有线和/或无线网络上通信(即,以执行网络操作)的一个或多个设备,包括:控制逻辑216、接口电路218和一个或多个天线220(或天线元件)。(虽然图2包括一个或多个天线220,但是在一些实施例中,电子设备200包括可以耦合到一个或多个天线220的一个或多个节点,诸如节点208,例如,焊垫。因此,电子设备200可以包括或者可以不包括一个或多个天线220。)例如,联网子系统214可以包括蓝牙联网系统、蜂窝联网系统(例如,3g/4g/5g网络,诸如umts、lte等)、usb联网系统、基于ieee 802.11中描述的标准的联网系统(例如,wi-fi联网系统)、以太网联网系统和/或另一联网系统。
42.在一些实施例中,可以使用一个或多个天线220(或天线元件)中的图案整形器(诸如反射器)来适配或改变电子设备200的发射天线辐射图案,该一个或多个天线220可以独立地并且选择性地电耦合到接地以使发射天线辐射图案引导到不同的方向。
43.联网子系统214包括处理器、控制器、无线电装置/天线、插座/插头和/或用于耦合到每个支持的网络系统、在每个支持的网络系统上通信以及处理用于每个支持的网络系统数据和事件的其它设备。请注意,有时用于耦合到用于每个网络系统的网络、在该网络上进
行通信和在该网络上处理数据和事件的机制统称为网络系统的“网络接口”。此外,在一些实施例中,电子设备之间的“网络”或“连接”尚不存在。因此,电子设备200可以使用联网子系统214中的机制来执行电子设备之间的简单无线通信,例如,发送帧和/或扫描由其他电子设备发送的帧。
44.在电子设备200内,使用总线228将处理子系统210、存储器子系统212和联网子系统214耦合在一起。总线228可以包括子系统可以被用于传达命令和数据等等的电、光和/或电光连接。尽管为了清楚起见仅示出一条总线228,但是不同的实施例可以包括在子系统当中的不同数量或配置的电、光和/或电光连接。
45.在一些实施例中,电子设备200可选地包括用于在显示器上显示信息的显示子系统226,其可以包括显示器驱动器和显示器,诸如液晶显示器、多点触摸屏等。
46.电子设备200可以是(或可以被包括在)具有至少一个网络接口的任何电子设备中。例如,电子设备200可以是(或可以包括在):收发器、控制器、无线电节点、通信设备、测试设备、智能手表、可穿戴设备、消费电子设备和/或其他电子设备。
47.尽管使用特定组件来描述电子设备200,但是在替选实施例中,电子设备200中可以存在不同的组件和/或子系统。例如,电子设备200可以包括一个或多个附加处理子系统、存储器子系统、联网子系统和/或显示子系统。另外,电子设备200中可能不存在子系统中的一个或多个。此外,在一些实施例中,电子设备200可以包括在图2中未示出的一个或多个附加子系统。另外,尽管在图2中示出单独的子系统,但是在一些实施例中,给定子系统或组件的一些或全部可以集成到电子设备200中的其他子系统或组件中的一个或多个中。例如,在一些实施例中,程序指令222被包括在操作系统224中并且/或者控制逻辑216包括在接口电路218中。
48.此外,可以使用模拟和/或数字电路的任何组合来实现电子设备200中的电路和组件。
49.集成电路(有时被称为“通信电路”或“用于通信的装置”)可以实现联网子系统214的一些或全部功能。集成电路可以包括硬件和/或软件机制,其被用于从电子设备200发送无线信号以及在电子设备200处从其他电子设备接收信号。除了本文描述的机制之外,无线电装置在本领域中通常是已知的,并且因此不进行详细描述。通常,联网子系统214和/或集成电路可以包括任何数量的无线电装置。注意,多个无线电实施例中的无线电装置以与所描述的单无线电实施例类似的方式起作用。
50.在一些实施例中,联网子系统214和/或集成电路包括配置机制(诸如一个或多个硬件和/或软件机制),其配置无线电以在给定通信信道上(例如,给定载波频率)发送和/或接收。
51.图3是根据本公开的实施例的用于语音数据传输的方法的流程图的示意图。
52.该方法可以由诸如参考图2说明的电子设备200来执行。如参考图2说明的,电子设备200可以实施为软件、硬件、或软件与硬件的组合。特别地,这种电子设备可以是嵌入式电话或者任何运行网络电话应用(诸如,voip应用或视频会议应用之类)的客户端设备。更特别地,可以将该方法实现为一种计算机程序产品(例如软件应用),该计算机程序产品可以存储在存储介质中,并且当被电子设备200的处理器执行时,可以实现根据本公开的实施例的用于语音数据传输的方法。如图3所示,该方法300的操作在302处开始。
53.在304处,电子设备200(作为呼叫的一端)与另一设备(作为呼叫的另一端)建立用于语音数据传输的呼叫连接。例如,建立呼叫连接的过程可以是通过信令的传输来在呼叫的主叫方与被叫方之间建立语音会话的过程。在呼叫连接建立的过程中,主叫方可以基于用户输入的与被叫方关联的号码(例如,电话号码)来识别被叫方,并且被叫方可以基于信令分组中包括的主叫方的号码(例如,电话号码)来识别主叫方。
54.根据本公开,在呼叫连接建立的过程中,无论是作为主叫方还是被叫方,均可以对用于识别呼叫的另一端的号码进行解析,并基于解析结果来确定要在后续的语音数据分组传输中使用的跳数限制值。具体地,主叫方可以直接对用户输入的号码进行解析,而被叫方可以对接收到的信令中包含的识别主叫方的号码进行解析。
55.如图3的步骤3042所示,电子设备200可以解析识别呼叫的另一端的号码以确定语音数据传输是否与国际呼叫相关联。
56.可以通过各种方式来解析号码。根据一个实施例,在作为主叫方或被叫方设备的电子设备200处,可以预先存储国家代码列表。在这种情况下,解析号码包括确定所述号码中包含的国家代码是否与在所存储的国家代码列表中的任一国家代码相匹配,和响应于所述号码中包含的国家代码与国家代码列表中的任一国家代码相匹配,确定语音数据传输与国际呼叫相关联。
57.国家代码例如可以基于国际电信联盟根据e.164标准分配给各国或特殊行政区的代码(该代码一般称为国际电话区号)。例如,国家代码可以是预定代码后缀基于国际电信联盟根据e.164标准分配给各国或特殊行政区的国际电话区号的形式(例如,“国家代码”=“预定代码”+“国际电话区号”)。这里,预定代码(或者,在一些情况下也称为国际冠码)例如指的是预定的字符串,而并不限于数字代码。例如,预定代码可以是“00”或“+”。特别地,在主叫方进行呼叫时,在用户输入的识别被叫方的号码中,国家代码通常是以“00”开头的。在被叫方接听呼叫时,在从主叫方接收的信令分组中包含的识别主叫方的号码中,国家代码通常是以“+”开头的。例如,中国的国家代码可以是0086或+86,美国的国家代码可以是001或+1,等等。要说明的是,这里对预定代码的描述并不是限制性的,预定代码也可以是任何其他使用的预定字符串,并且对于由主叫方发起呼叫和由被叫方接听呼叫的情况,由用户输入或信令分组中包含的预定代码可以是一致的,例如,均为“00”。
58.可以通过分析号码字符串来确定该号码字符串中是否包含了与在所存储的国家代码列表中的任一国家代码相匹配的国家代码。例如,国家代码一般位于用于识别呼叫的主叫方或被叫方的号码的开头部分。因此,作为一个示例,可以逐个字符地将号码的开头部分与所存储的国家代码列表中的每一项进行比较,从而判定是否存在任何匹配。此外,作为另一个示例,可以首先从号码字符串中提取出完整的国家代码字符串,然后将提取出的字符串与所存储的国家代码列表中的每个字符串进行比较,以判定是否存在匹配的国家代码字符串。
59.响应于识别呼叫的主叫方或被叫方的号码中包含的国家代码与国家代码列表中的任一国家代码相匹配,可以确定语音数据传输与国际呼叫相关联。否则,则确定语音数据传输不与国际呼叫相关联。识别呼叫的主叫方或被叫方的号码中包含的国家代码不与国家代码列表中的任一国家代码相匹配可能包括多种情况,例如,该号码中不包含任何国家代码(这通常是默认本国/本地区呼叫的情况),或者该号码中包含的国家代码(例如,本地国
家代码)不存在于所存储的国家代码列表中。
60.在一些特殊情况下,为了获得特定的服务和/或资费(例如,专用于ip电话的服务和/或资费),用户可能在输入号码主体部分(即,符合国际/各国或地区规定的专用于识别呼叫的一方的号码)之前输入特定的数字/字母组合,以表示本次呼叫与由该特定的数字/字母组合所代表的服务和/或资费相关联。图4示出了这种情况的一个具体示例。如图4所示,在以“001”开始的识别位于美国的呼叫一方的号码主体之前,存在字符串“101xx”以指示该次呼叫与特定的ip长途呼叫服务相关联。因此,在这种情况下,需要基于排除了特定的数字/字母组合之后的剩余号码字符串来对国家代码进行确定。
61.在这种情况下,在作为主叫方或被叫方设备的电子设备200处,还可以预先存储指示特定的服务和/或资费的数字/字母组合列表。电子设备200例如可以首先将用户输入/接收到的信令分组中包含的号码字符串的开始部分与该数字/字母组合列表中的各项进行比较,以获得剔除了指示特定的服务和/或资费的数字/字母组合的剩余字符串,并且随后可以基于该剩余字符串,通过上述逐个字符串的比较或提取国家代码的比较方式中的任一种来确定呼叫是否涉及国际呼叫。
62.此外,在指示各个服务和/或资费的各个数字/字母组合的长度一致(例如,图4所示的5个字符)的情况下,作为主叫方或被叫方设备的电子设备200也可以直接从用户输入/接收到的信令分组中包含的号码字符串的开头部分按照所述数字/字母组合的字符数目剔除一个或多个字符以获得剩余字符串,并且随后可以基于该剩余字符串,通过上述逐个字符串的比较或提取国家代码的比较方式中的任一种来确定呼叫是否涉及国际呼叫。
63.要指出的是,这里说明的剔除部分字符串并不一定表示要形成新的字符串。例如,也可以从用户输入/接收到的信令分组中包含的号码字符串的开始起的特定位置开始执行识别/匹配国家代码的操作,该特定位置可以是指示服务和/或资费的数字/字母组合字符串结束的位置。
64.有利地,这种基于预先存储的国家代码列表的比较来解析识别呼叫的一方的号码的方法可以借助简单的字符串比较来快速有效地确定呼叫是否涉及国际呼叫。
65.如上文说明的,国家代码可以是预定代码(例如“00”或“+”)后缀基于国际电信联盟根据e.164标准分配给各国或特殊行政区的代码的形式。换句话说,国家代码一般是以预定代码(例如,“00”或“+”)开始的特定代码。进一步如上文说明的,国家代码一般位于用于识别呼叫的主叫方或被叫方的号码的主体部分的开头部分。主体部分是符合国际/各国或地区规定的专用于识别呼叫的一方的号码。例如,主体部分可以是用户输入/接收到的信令分组中包含的整个号码字符串,或者,主体部分可以是紧随在用户输入/接收到的信令分组中包含的整个号码字符串中识别表示特定服务和/或资费的特定的数字/字母组合之后的部分。特别地,为了使得呼叫的双方能够恰当地识别表示特定服务和/或资费的特定的数字/字母组合以及紧随其后的国家代码,这种特定的数字/字母组合一般被配置为不包含国家代码专用的预定代码(例如,字符串“00”或“+”)。
66.此外,当呼叫涉及本国/本地区呼叫时,通常主叫方无需输入本国/本地区的国家代码来呼叫被叫方,并且被叫方接收到的信令分组中包括的主叫方号码也不包括本国/本地区的国家代码。
67.因此,根据另一个实施例,可以利用国家代码的上述特性以及本国/本地区呼叫时
省略呼叫双方国家代码的特性来确定语音数据传输是否与国际呼叫相关联。具体地,可以对用户输入/接收到的信令分组中包含的号码字符串进行解析,以确定所述号码的主体部分是否以上述预定代码(例如,字符串“00”或“+”)开始,并且响应于所述号码的主体部分以预定代码开始,确定语音数据传输与国际呼叫相关联。在该实施例中,可以利用与上文类似的方式来确定号码的主体部分。例如,可以基于在作为主叫方或被叫方设备的电子设备200处预先存储指示特定的服务和/或资费的数字/字母组合列表来确定号码的主体部分。再例如,还可以按照指示特定的服务和/或资费的数字/字母组合的字符长度来确定号码的主体部分。
68.有利地,在这种基于预定代码来识别呼叫是否涉及国际呼叫的方案中,在主叫方和被叫方设备处无需预先存储任何国家代码列表,从而简化了主叫方和被叫方出处的配置操作并且节省了存储空间。这对于将根据本公开的方法实施为诸如软件应用或内嵌应用程序之类的计算机程序产品的使用场景尤其有利,因为可以将根据本公开的方法以更“轻”的方式实施。
69.继续参考图3,接下来电子设备200可以基于对号码的解析结果来确定用于语音数据传输的跳数限制值。在步骤3044,电子设备200可以基于在步骤3042的解析结果来对语音数据传输是否与国际呼叫相关联进行判定。如步骤3048所示,响应于通过解析号码确定语音数据传输不与国际呼叫相关联,将用于语音数据传输的跳数限制值确定为默认跳数限制值。这里,跳数限制值可以是例如ipv4协议中规定的生存时间ttl字段的值。应理解的是,根据本公开,跳数限制值可以是任何表示对分组传输跳数或转发次数进行限制的字段的值。例如,跳数限制值也可以是ipv6协议中规定的跳限制(hop limit)字段的值。存储跳数限制值的字段一般位于ip分组首部,该字段的长度一般为8位,因此其最大值为255。默认跳数限制值可以取决于操作系统的值,其典型值例如是64。
70.如步骤3046所示,响应于通过解析号码确定语音数据传输与国际呼叫相关联,电子设备200可以将用于语音数据传输的跳数限制值确定为大于默认跳数限制值的第一值。根据本公开,为了在“减少分组丢失”与“防止出现乒乓/循环路由”之间进行权衡,可以将该第一值确定为略大于默认跳数限制值但是小于跳数限制字段允许的最大值(即255)的值。换句话说,第一值可以被确定为小于预定阈值的值,该预定阈值小于建立所述呼叫连接所使用的协议规定的最大跳数限制值。
71.根据本公开,可以由电子设备200的用户或管理员预先设置与跳数限制值相关联的上述第一值或上述预定阈值。例如,可以在初始化或配置电子设备200,或者更特别地在初始化或配置实施根据本公开的方法的软件应用时,预先设置与跳数限制值相关联的的上述第一值或上述预定阈值。在预先设置上述预定阈值的情况下,响应于通过解析号码确定语音数据传输与国际呼叫相关联,可以自动在大于跳数限制的默认值且小于或等于预先设置的预定阈值的值之间随机选择第一值作为将用于语音数据传输的跳数限制值。
72.继续参考图3,接下来,在步骤306,电子设备200基于在建立所述呼叫连接时确定的跳数限制值来生成用于发送语音数据的一个或多个分组。例如,可以将要发送的语音数据封装在实时传输协议(rtp)分组中,并将rtp分组封装在报头部分中相应字段被设置为所确定的跳数限制值的ip分组中。这里以rtp为例说明了对语音数据进行封装所用的协议,但是本公开并不限于用rtp来封装语音数据,而是可以基于任何恰当的协议(例如,任何适用
的应用层协议)来封装语音数据。此外,可以将应用层的语音数据分组按照任何适当的网络层协议进行封装,并且将基于所使用的网络层分组的报头部分中限制转发跳数的字段的值设置为按照上文所述的方法确定的值(例如,上述第一值或该字段的默认值)。
73.该方法在308处结束。
74.上文已经详细说明了根据本公开的用于语音数据传输的方案。借助本公开的方案,可以根据语音数据传输所涉及的呼叫双方来灵活调整传输语音数据分组的跳数/转发次数限制,从而避免了由于呼叫性质(例如长途呼叫)导致的不恰当的分组丢失。此外,本公开的方案允许将特定情况(例如,国际呼叫)下的传输语音数据分组的跳数/转发次数限制设置为略大于默认跳数限制值的值,因此,仍然可以有效地阻止数据分组在网络的传输闭环内的无限循环。
75.已经参考附图说明了本公开的方案。本公开可以被实现为装置、系统、集成电路和非瞬时性计算机可读介质上的计算机程序的任何组合。可以将一个或多个处理器实现为执行本公开中描述的部分或全部功能的集成电路(ic)、专用集成电路(asic)或大规模集成电路(lsi)、系统lsi,超级lsi或超lsi组件。
76.本公开包括软件、应用程序、计算机程序或算法的使用。可以将软件、应用程序、计算机程序或算法存储在非瞬时性计算机可读介质上,以使诸如一个或多个处理器的计算机执行上述步骤和附图中描述的步骤。例如,一个或多个存储器以可执行指令存储软件或算法,并且一个或多个处理器可以关联执行该软件或算法的一组指令,以根据本公开中描述的实施例在任何数量的无线网络中提供监视和安装增强。
77.软件和计算机程序(也可以称为程序、软件应用程序、应用程序、组件或代码)包括用于可编程处理器的机器指令,并且可以以高级过程性语言、面向对象编程语言、功能性编程语言、逻辑编程语言或汇编语言或机器语言来实现。术语“计算机可读介质”是指用于向可编程数据处理器提供机器指令或数据的任何计算机程序产品、装置或设备,例如磁盘、光盘、固态存储设备、存储器和可编程逻辑设备(pld),包括将机器指令作为计算机可读信号来接收的计算机可读介质。
78.举例来说,计算机可读介质可以包括动态随机存取存储器(dram)、随机存取存储器(ram)、只读存储器(rom)、电可擦只读存储器(eeprom)、紧凑盘只读存储器(cd-rom)或其他光盘存储设备、磁盘存储设备或其他磁性存储设备,或可以用于以指令或数据结构的形式携带或存储所需的计算机可读程序代码以及能够被通用或专用计算机或通用或专用处理器访问的任何其它介质。如本文中所使用的,磁盘或盘包括紧凑盘(cd)、激光盘、光盘、数字多功能盘(dvd)、软盘和蓝光盘,其中磁盘通常以磁性方式复制数据,而盘则通过激光以光学方式复制数据。上述的组合也包括在计算机可读介质的范围内。
79.在一个或多个实施例中,词语“能”、“能够”、“可操作为”或“配置为”的使用是指被设计成能够以指定方式使用的一些装置、逻辑、硬件和/或元件。提供本公开的主题作为用于执行本公开中描述的特征的装置、系统、方法和程序的示例。但是,除了上述特征之外,还可以预期其他特征或变型。可以预期的是,可以用可能代替任何上述实现的技术的任何新出现的技术来完成本公开的部件和功能的实现。
80.另外,以上描述提供了示例,而不限制权利要求中阐述的范围、适用性或配置。在不脱离本公开的精神和范围的情况下,可以对所讨论的元件的功能和布置进行改变。各种
实施例可以适当地省略、替代或添加各种过程或部件。例如,关于某些实施例描述的特征可以在其他实施例中被结合。
81.类似地,虽然在附图中以特定次序描绘了操作,但是这不应该被理解为要求以所示的特定次序或者以顺序次序执行这样的操作,或者要求执行所有图示的操作以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1