本文档讨论show call active voice(仅注册客户)命令输出,并说明命令输出如何解决语音质量问题。
注:本文档中引用的命令链接到命令查找工具(仅限注册客户)。 使用此工具可搜索有关特定命令的详细信息。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文档约定的更多信息,请参考 Cisco 技术提示约定。
使用show call active voice命令可以显示活动呼叫表的内容。提供的信息包括呼叫时间、拨号对等体、连接、服务质量参数和抖动的网关处理。当您对一系列语音质量问题进行故障排除时,此信息非常有用。
本文档的表格包括示例show call active voice命令的输出以及每个参数的简要说明。
注意:show call active voice 命令显示语音网关上普通老式电话服务(POTS)和VoIP呼叫段的数据。一些参数以粗体文本突出显示,以供在文档的其余部分进一步讨论。
show call active命令可显示任何活动呼叫的电话和VoIP支路的值。对于每个支路,显示相同的通用参数后跟特定于呼叫支路类型的参数。在此表中,这些参数部分用着色的标题标记。
在用户EXEC或特权EXEC模式下使用show call active voice命令以显示正在进行的语音呼叫的呼叫信息。
show call active voice [brief [id identifier] | compact [duration {less time | more time}] | echo-canceller call-id | id identifier | redirect {rtpvt | tbct}]
此命令有许多参数选项。此列表介绍一些更有用的参数:
brief — (可选)显示截断的版本。
compact — (可选)显示比指定时间长或短的活动呼叫。
duration — (可选)显示比指定时间长或短的活动呼叫。
echo-canceller call-id — (可选)显示有关扩展回声消除器(EC)状态的信息。 要查询回声状态,您需要提前知道十六进制ID。要查找十六进制ID,请输入show call active voice brief命令或使用show voice call status命令。范围为0到FFFFFFFF。
show call active voice参数 | 参数说明 |
---|---|
通用: | 后面POTS呼叫段的通用统计信息 |
SetupTime=866793 ms | 启动POTS支路时,时钟时间以100毫秒为单位递增。对于传入ISDN POTS呼叫,这是收到Q.931呼叫建立消息的时间。 |
索引= 1 | |
PeerAddress=100 | 与此POTS对等体匹配的目标模式。对于传入POTS呼叫段,这是主叫号码或自动号码标识(ANI)。 |
PeerSubAddress= | |
PeerId=100 | 用于此呼叫段的拨号对等体ID。在这种情况下,尽管不必要,但PeerID和PeerAddress是相同的。 |
PeerIfIndex=9 | 此对等体的语音端口索引号。对于ISDN介质,这是用于此呼叫的B信道的索引号。 |
LogicalIfIndex=5 | 内部用于标识呼叫的逻辑接口的索引。 |
ConnectTime=867030 | 当POTS支路连接时,时钟时间以100毫秒为单位递增。对于传入ISDN POTS呼叫段,这是发送Q.931呼叫连接消息的时间。 |
CallDuration=00:12:26 | 呼叫建立的时间,以hh:mm:ss表示。 |
呼叫状态= 4 | 呼叫段的呼叫状态(4=活动,3=已连接,2=连接)。 呼叫状态为活动状态。 |
CallOrigin=2 | 呼叫段的发起与应答(1=发起,2=应答)。此网关应答此(POTS)呼叫段。 |
CortigedUnits=0 | 自系统启动以来应用于此对等设备的计费单元总数。此字段的度量单位是百分之一秒。 |
InfoType=2 | 此呼叫的信息类型(1=传真,2=语音)。 这是语音呼叫。 |
TransmitPackets=37291 | 从数字信号处理器(DSP)传输到电话接口的数据包数。 |
TransmitBytes=725552 | 与POTS TransmitPackets值等效的字节计数。 |
ReceivePackets=1689 | DSP从电话接口接收的数据包数。 |
ReceiveBytes=33780 | 与POTS ReceivePacketsPackets值等效的字节计数。 |
网真: | POTS呼叫段 |
ConnectionId=[0xC59FE183 0xB1700D7 0x0 0x84431C] | 这是网关为唯一表示此呼叫而提供的连接标识号。它在此网关上呼叫的所有呼叫段之间匹配。 |
TxDuration=746070 ms | 呼叫持续时间(ms)= 12分26秒= 746秒= 746070毫秒。 |
VoiceTxDuration=33780 ms | 语音数据包从电话POTS对等体发送到VoIP网关时的累计时间(毫秒)。 |
FaxTxDuration=0毫秒 | 路由器处于传真模式时的累计时间(毫秒)。 |
CoderTypeRate=g729r8 | 用于呼叫的编解码器。 |
NoiseLevel=-59 | 此呼叫的活动噪音级别。该值在舒适噪声产生模块中计算,并用于在启用语音活动检测(VAD)时产生舒适噪声。 |
ACOMLevel=20 | 此呼叫的当前ACOM级别。ACOM是回声消除器实现的组合损耗。此值是呼叫的回声回波损耗(ERL)、回声回波损耗增强(ERLE)和非线性处理(NLP)损耗之和。 |
OutSignalLevel=-64 | 以分贝/毫瓦(dBm)为单位的输出信号电平。 |
InSignalLevel=-58 | 输入信号电平(以dBm为单位)。 |
InfoActivity=2 | 此呼叫的活动信息传输活动状态。 |
ERLLevel=20 | 此呼叫的ERL。 |
会话目标= | 此值适用于VoIP呼叫段。此值在VoIP拨号对等体中指定。没有POTS呼叫段的会话目标。 |
ImgPages=0 | |
通用: | VOIP呼叫段的一般统计信息如下: |
SetupTime=866928 ms | 启动VoIP呼叫段时,时钟时间以100毫秒为单位递增。对于传出H.323 VoIP呼叫,这是发送H.323呼叫建立消息的时间。 |
索引= 1 | |
PeerAddress=200 | 对等体的目标模式。对于出站VoIP呼叫段,这是被叫号码或拨号号码识别服务(DNIS)。 |
PeerSubAddress= | |
PeerId=200 | DNIS匹配的对等ID。在这种情况下,虽然不必要,但peerID和DNIS是相同的。 |
PeerIfIndex=11 | |
LogicalIfIndex=0 | |
ConnectTime=867029 | 以100毫秒为单位的时钟时间递增,VoIP支路连接时间。对于传出H.323 VoIP呼叫段,这是收到H.323呼叫连接消息的时间。 |
CallDuration=00:12:27 | 呼叫的持续时间(以hh:mm:ss表示)。 |
呼叫状态= 4 | 呼叫段的呼叫状态(4=活动,3=已连接,2=连接)。 呼叫状态为活动状态。 |
CallOrigin=1 | 呼叫段的发起与应答(1=发起,2=应答)。此网关发起此(VoIP)呼叫段。 |
CortigedUnits=0 | |
InfoType=2 | |
TransmitPackets=1689 | 此网关在此呼叫段上传输的VoIP数据包数。 |
TransmitBytes=33780 | 与VoIP TransmitPackets值等效的字节计数。这需要与电话呼叫段中的VoiceTxDuration匹配,因为与G.729匹配时,每1毫秒发送一个字节。 |
ReceivePackets=37343 | 此网关在此呼叫段上接收的VoIP数据包数。 |
ReceiveBytes=746860 | 与VoIP ReceivePackets值等效的字节计数。 |
VOIP: | VoIP呼叫段 |
ConnectionId[0xC59FE183 0xB1700D7 0x0 0x84431C] | 这是网关为唯一表示此呼叫而提供的连接标识号。它在此网关上呼叫的所有呼叫段之间匹配。 |
RemoteIPAddress=10.1.1.2 | 呼叫的远程IP地址。 |
RemoteUDPPort=18280 | 呼叫的远程用户数据报协议(UDP)端口。 |
RoundTripDelay=53 ms | 网关测量的往返延迟。 |
SelectedQoS=尽力 | 此呼叫的拨号对等体中未选择资源预留协议(RSVP)。 |
tx_DtmfRelay=cisco-rtp | 用于呼叫的DTMF中继的形式(如果有)。 |
SessionProtocol=cisco | 呼叫的会话协议。协议“cisco”是默认协议,使用H.323信令和RTP数据包来传输语音流量。会话初始协议(SIP)是可通过会话协议(仅注册客户)拨号对等体命令指定的另一VoIP信令协议。还可以指定非VoIP协议,如用于VoATM的AAL2或思科专有帧中继语音(VoFR)协议和用于VoFR的FRFll。 |
SessionTarget=ipv4:10.1.1.2 | 拨号对等体的会话目标。如果使用网守,则会话目标为RAS。 |
OnTimeRvPlayout=742740 | 从此呼叫的按时收到的数据中播放语音的持续时间(毫秒)。总语音播放持续时间可以通过将间隙填充持续时间添加到OnTimeRvPlayout持续时间来导出。 |
GapFillWithSilence=0毫秒 | 时间(ms)网关(GW)播放静默。在这些情况下,会出现沉默:
|
GapFillWithPrediction=0 ms | 语音信号的持续时间(以毫秒为单位)由参数合成的信号或在时间上先于它的数据样本来播放。由于此呼叫的语音网关丢失或未及时接收语音数据,因此会出现此间隙填充。G.729和G.723.1压缩算法中的帧 — 擦除和帧 — 隐藏策略就是这种拉出的例子。 |
GapFillWithInterpolation=0 ms | 至于GapFillWithPrediction,但要考虑在丢失语音流量之后接收并存储在去抖动缓冲区中的样本。当前未使用. |
GapFillWithRedundancy=0 ms | 如果发射机使用冗余编码方案,则丢失或延迟分组的负载可以部分地或完全地恢复并以减小对语音质量的影响来播放。目前不支持此技术。 |
HiWaterPlayoutDelay=70 ms | 先入先出(FIFO)抖动缓冲区高标记,指示去抖动缓冲区为此呼叫所适应的最大深度。 |
LoWaterPlayoutDelay=69 ms | FIFO抖动缓冲区低标记,指示去抖动缓冲区为此呼叫所适应的最小深度。 |
接收延迟= 69毫秒 | 当前播放FIFO延迟加该呼叫的解码器延迟。 |
LostPackets=0毫秒 | 以毫秒表示的丢失RTP数据包。序列号中的任何正跳将添加到LostPackets计数器。例如,如果网关接收的数据包的编号顺序为N-1、N、N+1、N+3、N+2、N+4,则LostPackets计数器将递增。去抖动缓冲区的大小和“丢失”数据包到达时的大小决定了数据包能否播放。 |
EarlyPackets=1毫秒 | 以毫秒表示的早期RTP数据包数。RTP数据包在传输时被加时间戳,RTP时间戳值包含在数据包中。接收数据包的时间也由网关的本地时钟计时。如果两个相邻数据包的本地时钟时差(接收时间)小于其RTP时间戳差(发送时间),则提前考虑第二数据包。当网络利用率突然下降时,可能会出现早期数据包。这会降低特定数据包的网络延迟。 |
LatePackets=0 ms | 以毫秒表示的延迟RTP数据包数。当在以下任一情况下收到带有RTP序列号的数据包时,该值将递增:
|
VAD =启用 | 已为此呼叫段启用VAD。 |
CoderTypeRate=g729r8 | 用于此呼叫的编解码器类型。 |
CodecBytes=20 | 所用编解码器的负载大小(以字节为单位)。 |
SignalingType=cas | 呼叫的信令类型。这仅用于永久呼叫。 |
本节将讨论“参数”(Parameters)表中突出显示的参数对语音质量的影响。
这些参数提供与呼叫的特定VoIP段相关的信息。在此特定呼叫段示例中,呼叫与拨号对等体200匹配,使用的编解码器为负载大小为20字节的G.729,并且VAD已启用。
PeerId=200
CoderTypeRate=g729r8
CodecBytes=20
VAD =启用
此信息与有关网络配置的信息(如第2层传输和可选的压缩RTP使用)相结合,可确定与此拨号对等体匹配的呼叫的每个呼叫带宽要求。有关详细信息,请参阅 IP 语音 - 每个呼叫的带宽占用量。
如果调配的带宽不足以支持呼叫数,则结果可能是波动或合成语音。
注意:该命令呼叫阈值可用作呼叫准入控制的方法之一,但此命令不适用于从ISDN接口到H323网络的传出呼叫。
如果呼叫段的特征不正确,请查看拨号对等体配置和匹配。有关详细信息,请参阅“呼叫路由/拨号方案技术支持”页面中列出的一些拨号对等体相关文档。
损坏的语音(其中抖动和合成语音是很好的例子)在通常与错误调配的WAN链路相关的多种情况下可能发生。这可能是因为缺乏适当的连接准入控制(CAC)或语音优先级配置错误。show call active voice命令可通过以下参数查看这些问题:
OnTimeRvPlayout=742740
GapFillWithSilence=0毫秒
GapFillWithPrediction=0 ms
HiWaterPlayoutDelay=70 ms
LoWaterPlayoutDelay=69 ms
接收延迟= 69毫秒
LostPackets=0毫秒
EarlyPackets=1毫秒
LatePackets=0 ms
OnTimeRvPlayout命令可在与总语音播放持续时间进行比较时提供呼叫运行状况的良好一般视图。总语音播放持续时间可通过向OnTimeRvPlayout持续时间添加间隙填充持续时间来导出。如果通话时间占话音播放时间的比例很高,则呼叫可能是健康的。
数据包网络中丢弃或延迟过长的数据包可能导致语音质量问题。
当收到延迟了如此长时间的数据包,以致于无法使用它们,或者当数据包在网络中丢弃并且完全没有接收时,IP电话或语音网关尝试通过预测语音信号来尽可能重建语音流。
在IOS网关上重复发出show call active voice命令,以便了解此问题:
LatePackets — 到达去抖动缓冲区播放延迟期外的数据包数。这些数据包被丢弃。
LostPackets — 从未到达接收IP电话或网关的数据包数。
GapFillWithPrediction — 呼叫中的数据包预测量。将此数除以数据包采样时间,以确定受影响的数据包数。
GapFillWithSilence — 呼叫中的静默插入量。
注:Catalyst网关上的show port voice active命令可指示呼叫的抖动(高/低水播放延迟),但它不区分预测插入和静默插入。
少量的预测插入对人耳是无法检测的。但是,大量语音可能会导致语音质量损坏,可以描述为合成或机器人语音。
如果数据包被丢弃或延迟到达,则接收编解码器解码器无法预测语音信号。在这种情况下,信号被插入到语音中的静音替换。
此外,如果延迟是可变的(抖动),则在接收去抖动缓冲器的播放延迟周期内到达的分组被播放出去,但可能导致去抖动缓冲器的欠速。当缓冲区中没有保留数据包时,会出现欠载,当缓冲区等待下一个数据包到达时,会延迟语音。会导致语音中出现声音间隙。
少量静音插入或抖动对人耳是无法检测的。但是,大量语音可能会导致语音质量变化,可以描述为语音不稳定或语音中断。
注意:如果网络延迟足够可变,则很可能产生的语音声音是合成的且不稳定的。
解决损坏的语音问题
确定延迟的原因并(如果可能)消除延迟。
数据包电话网络中出现丢包或延迟的原因可能多种多样。一些常见示例包括:
低速链路的分段配置错误
在呼叫路径中带宽超量承诺的链路。例如,语音呼叫的CAC很差。例如,在64 Kbps链路上没有cRTP或VAD的G.711呼叫。
以太网环境中的双工不匹配
在呼叫路径中的路由器上执行CPU密集型操作。例如,调试到控制台或保存路由器配置可能导致CPU使用率较高,从而延迟经过该配置的数据包。
还可以调整网关去抖动缓冲区,以在次优数据网络中实现更好的语音性能。但是,结果受数据网络正确运行的程度限制。有关详细信息,请参阅排除QoS不稳定语音问题或语音质量技术支持页面中列出的一些文档。
这些参数标识VAD是否用于此呼叫以及使用的拨号对等体:
VAD =启用
PeerId=200
NoiseLevel=-59
解决嘶嘶和剪辑问题
要解决嘶嘶声和某些前端剪辑问题,请在排除其他可能的问题之前,调整music-threshold或vad-time值(或禁用VAD)。
通过禁用舒适噪音(仅注册客户)或完全禁用VAD进行测试。如果症状停止,则舒适噪音是问题的可能原因。减少检测到语音的音乐阈值(仅注册客户)或增加网关上的vad-time (仅注册客户)值,可以使嘶嘶声或削波不太明显,而无需永久禁用VAD。这些技术基本上分别在低体积级别和/或小间隙期间禁用VAD。仅仅禁用舒适噪音是不现实的,因为这种操作会导致其他语音质量症状,如句子之间的点击和/或绝对沉默间隙。
有关详细信息,请参阅排除嘶嘶和静态故障。如果这些调整技术无法解决问题,则禁用VAD。这会导致带宽节省损失。
单向胶合问题的解决
VAD是导致大多数嘶嘶问题的原因。因此,确定是否启用它非常重要。排除句子嘶嘶或前端剪辑故障的第一步是禁用VAD。因此,必须能够确定是否禁用它。
如果嘶嘶声或剪辑仅发生在一个方向(出站方向),则可能是由于VAD在此方向上被启用,即使您已尝试在VoIP拨号对等体中禁用它。在这种情况下,show call active voice 命令显示VAD已启用,且正在使用的PeerID为0。要克服此问题,请在VoIP拨号对等体上配置incoming called-number <number_dialed>(registered customers only)命令,以确保到PSTN的呼叫与网关上的此对等体匹配。否则,此方向的呼叫与默认启用VAD的默认拨号对等体匹配。
以下参数对于排除回声故障非常重要:
ACOMLevel=20
OutSignalLevel=-64
InSignalLevel=-58
ERLLevel=20
测试音输出为–15,并且环回,损耗为0 dB。因此,它返回–15 dB。此处的ERL值在此点没有意义,因为回声消除器不认为输入信号是回声。
注意:OutSignalLevel显示在输出衰减应用到信号后的电平值。InSignalLevel显示施加输入增益后的电平值。
如果 ERL 值太低,返回到网关的回声信号可能会声音太大(在 6 dB 的讲话者信号内)。 这会导致回声消除器将其视为语音(双通话)而非回声。因此,回声消除器不取消回声。ERL应介于6 db和20 db之间,以便回声消除器参与。
有关排除回声问题的信息,请参阅排除IP电话和Cisco IOS网关之间的回声问题和排除IP电话网络中的回声故障(音频点播)。
本节介绍如何使用show call active voice命令来识别抖动和典型语音质量症状。
在呼叫进行时,可通过重复发出show call active voice命令来确定网络中抖动的一般概念。理想情况下,这些参数应保持相对稳定。如果它们有,则表示数据包流畅。但是,如果存在抖动,则会出现短期尖峰,如以下两个示例输出所示:
GapFillWithSilence=950 ms GapFillWithPrediction=1980 ms GapFillWithInterpolation=0 ms GapFillWithRedundancy=0 ms HiWaterPlayoutDelay=350 ms LoWaterPlayoutDelay=25 ms ReceiveDelay=29 ms LostPackets=0 EarlyPackets=0 LatePackets=83
. . GapFillWithSilence=1040 ms GapFillWithPrediction=2350 ms GapFillWithInterpolation=0 ms GapFillWithRedundancy=0 ms HiWaterPlayoutDelay=40 ms LoWaterPlayoutDelay=28 ms ReceiveDelay=35 ms LostPackets=0 EarlyPackets=0 LatePackets=99
这些示例输出中延迟数据包数的增加显示了一定程度的抖动。GapFillWithSilence值增加所指示的静默插入表现为不稳定的声音。预测插入(由GapFillWithPrediction值的增加表示)倾向于以合成语音的形式显示。
为了更改缓冲的语音信号量以避免抖动缓冲不足或过度运行,请发出playout-delay命令。
播放延迟的两种配置模式是自适应和固定的:
当您发出playout-delay {nominal值时,自适应允许抖动缓冲区在已配置范围内的呼叫持续时间内增长和缩小 |最大值 |最小{default |低 | high}}命令。
在发出播放延迟模式{adaptive}时,在呼叫开始处设置固定 | fixed [no-timestamps]}命令。
有关VoIP的详细信息,请参阅播放延迟增强功能。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
31-Jul-2006 |
初始版本 |