语音连接中继永久建立语音呼叫,可以是IP语音(VoIP)、帧中继语音(VoFR)或ATM语音(VoATM)。 一旦路由器启动并配置完成,呼叫即会建立。一旦语音端口打开,语音端口就会自动拨打语音端口下指定的虚构电话号码并向位置发出呼叫。语音端口通过相应的拨号对等体完成到另一端的呼叫。建立此连接后,就路由器而言,语音呼叫将处于会话中并已连接。
本文档没有任何特定的前提条件。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保在使用任何命令之前了解其潜在影响。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
与中继相关的常见问题对路由器是透明的,很难排除故障。当呼叫被置于中继上而未听到任何声音时,语音中继中出现的常见问题就会显现出来。这是连接中继的已知问题之一,由许多不同问题引起。另一个问题是,双音多频(DTMF)音未正确传输,以及从专用分支交换机(PBX)到PBX的信令未正确传输。本文档对这些问题进行故障排除。
当语音卡车启动并处于活动状态时,信号在连接卡车中的行为会有所不同。您通常在语音端口下针对信令特征发出的任何命令都不相关且有用。语音干线成为信令管道,并通过VoIP链路中继信号。使用语音中继时,PBX信令必须端到端匹配。就两台PBX机器而言,目标是使语音中继连接与租用的T1线路与PBX相同,使路由器完全透明,同时在整个过程中两个PBX之间建立清晰链路。
当中继接通时,中继会变成软件电缆,信号类型被视为连接器类型。中继不关心所使用的信号类型。即使两端的信号不匹配,中继仍然会打开。只要两端的PBX执行相同的信令,中继就能正常工作。
排除连接中继问题时采用的方法与交换呼叫所用的方法不同。要查看中继验证后的实际情况,您需要查看PBX信令。在继续查看信令之前,请验证中继是否已启用,以及数字信号处理器(DSP)是否处理语音数据包。
注意:您可能想要禁用语音活动检测(VAD)以进行故障排除。一旦确认中继工作正常,您需要查看电话信令以进一步排除故障。
如果中继已建立,并且没有人尝试进行呼叫,则中继保持连接消息在远程设备之间来回发送。这些keepalive会检验中继连接并从端到端传输信令信息。要验证这些keepalive,请发出debug vpm signal命令。如果有许多中继(即debug vpm命令的输出),则如果发出debug vpm port x命令选项,其中“x”是有问题的语音端口,则可以将输出限制为单个端口。以下是查看所有端口时发出debug vpm signal命令的输出:
21:18:12: [3/0:10(11)] send to dsp sig DCBA state 0x0 21:18:12: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 21:18:12: [3/0:12(13)] rcv from dsp SIG DCBA state 0x0 21:18:12: [3/0:20(21)] rcv from dsp SIG DCBA state 0x0 21:18:12: [3/0:12(13)] send to dsp SIG DCBA state 0x0 21:18:12: [3/0:20(21)] send to dsp SIG DCBA state 0x0 21:18:12: [3/0:0(1)] send to dsp SIG DCBA state 0x0 21:18:12: [3/0:3(4)] rcv from dsp SIG DCBA state 0x0 21:18:12: [3/0:9(10)] rcv from dsp SIG DCBA state 0x0 21:18:12: [3/0:3(4)] send to dsp SIG DCBA state 0x0 21:18:13: [3/0:9(10)] send to dsp SIG DCBA state 0x0 21:18:13: [3/0:19(20)] rcv from dsp SIG DCBA state 0x0
如果使用debug vpm port x命令限制此值,则调试将更容易解释,如本例所示:
21:21:08: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 21:21:12: [3/0:0(1)] send to dsp SIG DCBA state 0x0 21:21:13: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 21:21:17: [3/0:0(1)] send to dsp SIG DCBA state 0x0 21:21:18: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 21:21:22: [3/0:0(1)] send to dsp SIG DCBA state 0x0 21:21:23: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 21:21:27: [3/0:0(1)] send to dsp SIG DCBA state 0x0 21:21:28: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 21:21:32: [3/0:0(1)] send to dsp SIG DCBA state 0x0
keepalive每五秒发送和接收一次。术语“sent to dsp”和“received from dsp”来自Cisco IOS®的视角。用PBX代替DSP,使其更易理解。这些是中继上没有活动时看到的消息。保持连接消息使电路两端的路由器知道中继仍处于工作状态。当这些消息中有五条在一行中丢失时,中继会断开。其中一个原因是中继在网络中不断抖动。要验证是否发送和接收了语音中继keepalive,请发出debug vpm trunk-sc命令。此调试在中继保持连接丢失之前不会生成任何输出。以下是Keepalive丢失时debug vpm trunk-sc命令输出的示例:
22:22:38: 3/0:22(23): lost Keepalive 22:22:38: 3/0:22(23): TRUNK_SC state : TRUNK_SC_CONN_WO_CLASS, event TRUNK_RTC_LOST_KEEPALIVE 22:22:38: 3/0:22(23): trunk_rtc_set_AIS on 22:22:38: 3/0:22(23): trunk_rtc_gen_pattern : SIG pattern 0x0 22:22:38: 3/0:22(23): TRUNK_SC, TRUNK_SC_CONN_WO_CLASS ==> TRUNK_SC_CONN_DEFAULT_IDLE 22:22:39: 3/0:13(14): lost Keepalive 22:22:39: 3/0:13(14): TRUNK_SC state : TRUNK_SC_CONN_WO_CLASS, event TRUNK_RTC_LOST_KEEPALIVE 22:22:39: 3/0:13(14): trunk_rtc_set_AIS on 22:22:39: 3/0:13(14): trunk_rtc_gen_pattern : SIG pattern 0x0 22:22:39: 3/0:13(14): TRUNK_SC, TRUNK_SC_CONN_WO_CLASS ==> TRUNK_SC_CONN_DEFAULT_IDLE
如果在发出debug vpm trunk-sc命令时未看到任何输出,则不会丢失keepalive。即使Keepalive丢失,中继也会一直运行,直到丢失5条连续消息。这意味着连接必须关闭25秒,中继才会断开。
与语音中继连接相关的错误有好几个。如果发现异常,请检查这些漏洞。到Cisco IOS软件12.2发布时,这些问题中的大部分已经解决并集成。您可以查看Bug,让自己知道这些是导致旧代码问题的原因。最常见的问题之一是使PBX通过中继连接正确发出信号。关闭中继并配置路由器以使其在两端工作似乎是一个好主意,但这种方法实际上适得其反,因为一旦中继建立,您所更改的任何内容现在都变得无关紧要。排除故障的最佳方法是使中继正常工作。
必须了解基本知识,以确定这些功能是否正确:
中继是否已建立?发出show voice call summary命令,并确保中继处于S_CONNECTED状态。
DSP是否正在处理数据包?发出show voice dsp命令以验证此情况。如果您没有看到数据包由DSP处理,则是因为VAD已启用并会抑制数据包。关闭VAD,重新建立中继并再次查看。此外,检查当发出show call active voice brief命令时,数据包计数器是否增加。此命令还显示是否为有问题的呼叫日志启用VAD。
如果中继连接到任何站点的模拟端口,最好在非中继模式下验证PBX的运行。要排除模拟E&M连接故障,请参阅了解和排除模拟E&M接口类型和布线安排故障。一旦所有内容都经过验证并正常运行,请启动中继并查看PBX之间传递的信令。
排除语音中继连接故障的理想方法是检查PBX之间传递的信令。最好与相关的每台路由器建立Telnet会话,以便在信号从一端传递到另一端时能够观察到该信号。本文档使用E&M闪烁信令,因为它相当流行,而且必须考虑闪烁时间。
以下是连接到发起呼叫的PBX的路由器的输出:
May 22 19:39:03.582: [3/0:0(1)] rcv from dsp sig DCBA state 0x0 !--- It is in idle state. May 22 19:39:07.774: [3/0:0(1)] send to dsp SIG DCBA state 0x0 !--- ABCD bits=0000. May 22 19:39:08.586: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:12.778: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:13.586: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:17.777: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:18.593: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:22.781: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:23.593: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:27.781: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:28.597: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:32.785: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:33.597: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:37.789: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:38.601: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:39.777: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:39.797: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:39.817: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF !--- Receives off-hook from PBX, and passes to remote end. May 22 19:39:39.837: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:39.857: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:39.877: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:39.897: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:39.917: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:39.937: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:39.957: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:39.977: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:39.997: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.017: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.037: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.057: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.077: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.089: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.097: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.109: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.117: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF !--- Receiving wink from remote side, and passes to PBX. May 22 19:39:40.129: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.137: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.149: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.157: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.169: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.177: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.189: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.197: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.213: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.217: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.229: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.237: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.249: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.257: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.269: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.289: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.309: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.329: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.349: [3/0:0(1)] send to dsp SIG DCBA state 0x0 !--- Wink ended from remote side, and passes to PBX. May 22 19:39:40.369: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.389: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.409: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.429: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.449: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.469: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.493: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.509: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.529: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.549: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.569: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.589: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.613: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.629: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.649: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.669: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.689: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.709: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.729: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.749: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:40.769: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:45.773: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:50.081: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:50.101: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:50.121: [3/0:0(1)] send to dsp SIG DCBA state 0xF !--- Wink ends, the remote end is now off-hook, the conversation happens. May 22 19:39:50.141: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.161: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.181: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.197: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.221: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.241: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.261: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.261: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.281: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.301: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.321: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.341: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.361: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.381: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.401: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.421: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.441: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.461: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.481: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.501: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.521: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.541: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.561: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:55.265: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:55.561: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:00.269: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:00.565: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:05.268: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:05.564: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:10.272: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:10.568: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:15.276: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:15.572: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:19.676: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:19.696: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:19.716: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.736: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.756: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.776: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.796: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.796: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:19.816: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.816: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:19.836: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.836: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 !--- Both side hung up, back to idle state. May 22 19:40:19.856: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.856: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.876: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.876: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.896: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.896: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.916: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.916: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.936: [3/0:0(1)] send to dsp SIG DCBA state 0x0
此输出显示路由器终止呼叫。网络时间协议(NTP)已同步。
May 22 19:39:03.582: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:07.774: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 !--- Idle state, both side on-hook. May 22 19:39:08.586: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:12.774: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:13.586: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:15.383: [1/0:0(1)] Signaling RTP packet has no particle !--- You will see this message if you are running Cisco IOS !--- Software Release 12.2(1a) or later. It is not an error !--- message, it is a normal functioning state. May 22 19:39:17.774: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:18.590: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:22.778: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:23.594: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:27.782: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:28.598: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:32.782: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:33.598: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:37.786: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:38.602: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:39.778: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:39.798: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:39:39.818: [3/0:0(1)] send to dsp SIG DCBA state 0xF !--- Remote side off-hook, this is conveyed to the PBX. May 22 19:39:39.838: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:39.858: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:39.878: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:39.898: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:39.918: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:39.938: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:39.958: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:39.978: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:39.998: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.018: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.038: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.058: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.078: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.090: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.098: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.110: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.118: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.130: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF !--- Receive wink from PBX. May 22 19:39:40.138: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.150: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.158: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.170: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.178: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.190: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.198: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.210: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.218: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.230: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.238: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.250: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.258: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:40.270: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.290: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.310: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.330: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:40.350: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 !--- Wink ended, waiting for an answer. May 22 19:39:40.370: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.390: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.410: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.430: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.450: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.470: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.490: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.510: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.530: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.550: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.570: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.590: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.610: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.630: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.650: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.670: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.690: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.710: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.730: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.750: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:40.770: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:45.262: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:45.770: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:50.077: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:50.097: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:39:50.117: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF !--- Receive off-hook from PBX. May 22 19:39:50.137: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.157: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.177: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.197: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.217: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.237: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.257: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.261: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:50.277: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.297: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.317: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.337: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.357: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.377: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.397: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.417: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.437: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.457: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.477: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.497: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.517: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.537: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:39:50.557: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF !--- Both sides off-hook, the conversation happens. May 22 19:39:55.265: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:39:55.557: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:00.269: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:00.561: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:05.269: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:05.561: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:10.273: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:10.565: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:15.273: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:15.569: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:19.673: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:19.693: [3/0:0(1)] rcv from dsp SIG DCBA state 0xF May 22 19:40:19.713: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.733: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.753: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.773: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.793: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.797: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:19.813: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.817: [3/0:0(1)] send to dsp SIG DCBA state 0xF May 22 19:40:19.833: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.837: [3/0:0(1)] send to dsp SIG DCBA state 0x0 !--- Both sides are back on-hook, back to idle. May 22 19:40:19.853: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.857: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.873: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.877: [3/0:0(1)] send to dsp SIG DCBA state 0x0 May 22 19:40:19.893: [3/0:0(1)] rcv from dsp SIG DCBA state 0x0 May 22 19:40:19.897: [3/0:0(1)] send to dsp SIG DCBA state 0x0
注意:此输出显示在使用E&M闪烁信令的语音中继的两端发生的信令。可以看到使用这些相同调试的其他类型的信令。如果您看到呼叫建立正确(如图所示),则必须存在双向音频。如果查看show voice dsp或show call active voice brief命令输出,可以验证这一点。如果那里一切正常,并且模拟连接出现音频问题(无音频或单向),请再次检查这些连接。
由于查看中继呼叫的show call active voice或show voice call summary命令输出几乎没有用处,因此,您需要一种简单的方法来确定哪些语音中继支持活动呼叫。执行此操作的最简单方法之一是,将show voice trunk-conditioning signaling命令与include参数一起发出,并使用ABCD作为包含的字符串,如下所示:
Phoenix#show voice trunk-conditioning signaling | include ABCD last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=1111, last-RX-ABCD=0000 !--- Timeslot 8. last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=1111, last-RX-ABCD=1111 !--- Timeslot 10. last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=0000, last-RX-ABCD=0000 last-TX-ABCD=0000, last-RX-ABCD=0000
注意:此输出显示时隙10上的呼叫处于活动状态,而时隙8上的另一个呼叫正在启动。如果经常使用此命令,则要为此较长的命令创建别名。
除摘机和挂机信令外,路由器在PBX之间传递的唯一其他信息(除语音外)是DTMF音。还有音频路径,因此这通常不是问题,但是有问题。问题出在如何通过该路径进行音频。有时最好使用低比特率编解码器以节省带宽。问题是,这些低比特率编解码器是通过为人类语音编写的算法设计的。除非客户使用g711编解码器,否则DTMF音不能很好地符合这些算法,并且需要一些其他方法来传达。答案在dtmf-relay命令中。此功能允许DSP在终端启动音调,识别DTMF音调,并将其与常规音频流分离。然后,DSP根据其配置方式将此音调编码为不同类型的实时协议(RTP)数据包或作为h245消息,以在链路上与音频流分开发送。这与fax-relay和modem-relay命令后面的过程相同。
此功能为中继故障排除带来了另一个调试问题。如果没有呼叫建立,并且您必须从路由器之间的数据包流中提取该信息,您如何验证传递了哪些数字?如何执行此操作取决于使用的dtmf-relay命令类型。
如本示例所示,dtmf-relay cisco-rtp命令使用专有的Cisco负载类型,因此,您必须向下查看DSP才能看到这一点。您可以发出debug vpm signal命令,并结合debug vpm port x/x:y.z命令(以限制对相关端口的输出),以查看在源端传递给DSP的数字。此输出显示在始发端,而不是终止端。
*Mar 1 00:22:39.592: htsp_digit_ready: digit = 31 *Mar 1 00:22:39.592: [1/0:1(2), S_TRUNKED, E_VTSP_DIGIT] *Mar 1 00:22:40.021: htsp_digit_ready: digit = 32 *Mar 1 00:22:40.021: [1/0:1(2), S_TRUNKED, E_VTSP_DIGIT] *Mar 1 00:22:40.562: htsp_digit_ready: digit = 33 *Mar 1 00:22:40.562: [1/0:1(2), S_TRUNKED, E_VTSP_DIGIT] *Mar 1 00:22:40.810: [1/0:1(2)] rcv from dsp SIG DCBA state 0xF *Mar 1 00:22:41.131: htsp_digit_ready: digit = 34 *Mar 1 00:22:41.131: [1/0:1(2), S_TRUNKED, E_VTSP_DIGIT] *Mar 1 00:22:41.499: [1/0:1(2)] Signaling RTP packet has no partical *Mar 1 00:22:41.499: [1/0:1(2)] send to dsp SIG DCBA state 0xF *Mar 1 00:22:41.672: htsp_digit_ready: digit = 35 *Mar 1 00:22:41.672: [1/0:1(2), S_TRUNKED, E_VTSP_DIGIT] *Mar 1 00:22:42.192: htsp_digit_ready: digit = 36 *Mar 1 00:22:42.192: [1/0:1(2), S_TRUNKED, E_VTSP_DIGIT] *Mar 1 00:22:42.789: htsp_digit_ready: digit = 37 *Mar 1 00:22:42.789: [1/0:1(2), S_TRUNKED, E_VTSP_DIGIT] *Mar 1 00:22:43.350: htsp_digit_ready: digit = 38 *Mar 1 00:22:43.350: [1/0:1(2), S_TRUNKED, E_VTSP_DIGIT] *Mar 1 00:22:44.079: htsp_digit_ready: digit = 39 *Mar 1 00:22:44.079: [1/0:1(2), S_TRUNKED, E_VTSP_DIGIT] *Mar 1 00:22:45.249: htsp_digit_ready: digit = 30 *Mar 1 00:22:45.249: [1/0:1(2), S_TRUNKED, E_VTSP_DIGIT] *Mar 1 00:22:45.810: [1/0:1(2)] rcv from dsp SIG DCBA state 0xF *Mar 1 00:22:46.007: htsp_digit_ready: digit = 2A *Mar 1 00:22:46.011: [1/0:1(2), S_TRUNKED, E_VTSP_DIGIT] *Mar 1 00:22:46.572: [1/0:1(2)] Signaling RTP packet has no partical *Mar 1 00:22:46.572: [1/0:1(2)] send to dsp SIG DCBA state 0xF *Mar 1 00:22:46.628: htsp_digit_ready: digit = 23 *Mar 1 00:22:46.628: [1/0:1(2), S_TRUNKED, E_VTSP_DIGIT] *Mar 1 00:22:50.815: [1/0:1(2)] rcv from dsp SIG DCBA state 0xF all digits 0-9 are represented by 30-39, * = 2A and # = 23.
您可以使用dtmf-relay h245-amultic命令验证从始发端发送的数字是什么。dtmf-relay h245-amultic命令使用h.245的字母数字部分来传达音调。如本例所示,当启用debug h245 asn1命令时,在中继的始发端和终止端都可以轻松地看到数字:
始发端:
*Mar 1 00:34:17.749: H245 MSC OUTGOING PDU ::= value MultimediaSystemControlMessage ::= indication : userInput : alphanumeric : "1" *Mar 1 00:34:17.749: H245 MSC OUTGOING ENCODE BUFFER::= 6D 400131 *Mar 1 00:34:17.753: *Mar 1 00:34:18.350: H245 MSC OUTGOING PDU ::= value MultimediaSystemControlMessage ::= indication : userInput : alphanumeric : "2" *Mar 1 00:34:18.350: H245 MSC OUTGOING ENCODE BUFFER::= 6D 400132 *Mar 1 00:34:18.350: *Mar 1 00:34:18.838: H245 MSC OUTGOING PDU ::= value MultimediaSystemControlMessage ::= indication : userInput : alphanumeric : "3" *Mar 1 00:34:18.838: H245 MSC OUTGOING ENCODE BUFFER::= 6D 400133
终止端:
*Mar 1 17:45:16.424: H245 MSC INCOMING ENCODE BUFFER::= 6D 400131 *Mar 1 17:45:16.424: *Mar 1 17:45:16.424: H245 MSC INCOMING PDU ::= value MultimediaSystemControlMessage ::= indication : userInput : alphanumeric : "1" *Mar 1 17:45:17.025: H245 MSC INCOMING ENCODE BUFFER::= 6D 400132 *Mar 1 17:45:17.025: *Mar 1 17:45:17.025: H245 MSC INCOMING PDU ::= value MultimediaSystemControlMessage ::= indication : userInput : alphanumeric : "2" *Mar 1 17:45:17.514: H245 MSC INCOMING ENCODE BUFFER::= 6D 400133 *Mar 1 17:45:17.514: *Mar 1 17:45:17.514: H245 MSC INCOMING PDU ::= value MultimediaSystemControlMessage ::= indication : userInput : alphanumeric : "3"
dtmf-relay h245-signal命令非常相似,在使用与dtmf-relay h245 — 字母数字命令相同的调试时,可以看到该命令。总之,如果没有提到的调试,使用dtmf-relay命令对连接中继进行故障排除就会相当困难。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
02-Feb-2006 |
初始版本 |