将 IP 语音 (VoIP) 技术集成到传统专用交换分机 (PBX) 和公共交换电话网 (PSTN) 时,有时需要传输一种名为“Hookflash”的信令。Hookflash是在环路启动中继上环路电流的一个短暂中断,环路启动中继的连接系统不会由于呼叫断开而中断。
一旦PBX或PSTN感觉到Hookflash,它们一般会使当前的呼叫进行保持状态,提供二次拨号音或接入使用其它功能,如进行呼叫转移或呼叫等待。
Hookflash 是通过瞬间按下电话上的支架完成的。一些电话话筒带有名为“flash”或“recall”的按钮,该按钮会发送“计时循环中断”或“校准的闪存”这样的可准确计时的 Hookflash。
本文档没有任何特定的要求。
本文档中的信息基于以下软件和硬件版本:
Cisco 1750 路由器
Cisco IOS® 软件版本 12.2.5a
H.323 版本 2 软件支持是前提条件。Cisco IOS 软件版本 12.05T 及更高版本均提供该软件支持。模拟外部交换站 (FXS) 和外部交换局 (FXO) 的语音端口支持 Hookflash 检测/生成。这些都在以下 Cisco 硬件平台上可用:
1750/51/60
2600
3600
3700
MC3810
带有接入网关模块 (AGM) 的 Catalyst 4000
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
许多用户使用FXS和FXO端口组合将电话听筒扩展到IP网络。他们想保留现有PBX的功能,如远程分机上的呼叫转移,无应答时转到语音邮件,转接/保持呼叫到等。早期 Cisco VoIP 软件不提供完全控制功能,因此无法进行透明集成。然而,由于 Cisco IOS 软件版本 12.0.5T 及更高版本都支持 H.323 版本 2,因此现在可以跨 IP 网络监测和传输 Hookflash 信令。
当FXS端口配置了较长的“hookflash in”计时器值(大于500毫秒)时,用户可能会抱怨当他们挂断和立即拿起电话听筒时,呼叫并没有被清除。如果这个值设置得过低,Hookflash可能被解释为挂起,但一个过高的值又意味着电话听筒必须挂起较长时间才能清除呼叫。某些情况下,支架跳动也可能会导致问题。当把话筒挂起,挂钩按钮上的弹簧收紧可能会导致线路上的多个瞬时中断,被称为支架跳动。如果要获得最佳结果,需要仔细调整Hookflash时间值。在这些情况下的一种可能性是使用带有闪存按钮的话筒,它发送一个特定时段的Hookflash。可以设置FXO端口匹配此值,然后FXO端口生成输出的Hookflash。许多 PBX 都有一个 Class of Service (CoS) 选项,称为“校准的闪存”或“计时循环中断”,该选项允许 PBX 识别具有特定持续时间的 Hookflash,忽略其他时间较短或较长的环路中断。这样设置有助于排除错误断开和对PBX生成无效的Hookflash信号。
本部分提供有关如何配置本文档所述功能的信息。
注:要查找有关本文档中使用的命令的其他信息,请使用命令查找工具(仅注册客户)。
使用此步骤可配置专线、自动振铃 (PLAR ) 外线分机 (OPX) 和 Hookflash 中继。
将 MainSite 路由器上的 FXO 端口配置为 connection plar-opx。
OPX模式允许FXS端口上的远程用户以直接连接的扩展形式出现在中央PBX上。当FXO端口发现PBX的环信号时,路由器向远端FXS端口发送VOIP呼叫设置,但它并不使FXO端口摘机。结果,当拾起RemoteSide路由器FXS端口时,PBX只看到呼叫应答信号。当无应答超时(振铃停止)后,PBX可以结束呼叫,把呼叫转到语音邮件,或转接到其它分机/振铃组。没有 OPX 模式,FXO 端口将在检测到振铃时立即转为摘机状态,这样 PBX 就不能够执行呼叫转移、无应答或转到语音邮件功能。
RemoteSite路由器必须配置来感知并传递FXS端口上的Hookflash信号。
由于 Hookflash 只是暂时中断 FXS 端口上的环路电流,且不能作为音频信号发送,因此路由器会通过双音多频 (DTMF) 中继将 Hookflash 信号作为“!” 字符.然后,带有FXO端口的路由器发送一个短环路中断,外部设备将其看作Hookflash。如果要正确传输Hookflash信号,需要为dtmf-relay h245-signal配置VoIP 拨号对端。
物理端口计时器必须进行调整,使之适应 FXS 端口上的电话话筒的特征和 FXO 端口上的 Hookflash 环路中断时长,如下所示:
FXS语音端口(RemoteSite路由器)使用timing hookflash-out-in msec 命令,这里毫秒是指被解晰为Hookflash的电话听筒的环路中断(以毫秒计)的最大值。大于配置值的环路中断被当视为连接中断,因此呼叫也将中断。低于此值的任何间隔都将导致路由器通过 H.245 信号 DTMF 中继发送“!” 字符。
FXO语音端口(MainSite路由器)使用 timing hookflash-out msec命令,这里毫秒是指以毫秒为单位的流出循环中断时长。当路由器收到 H.245 信号形式的 DTMF 中继信号时,FXO 端口会产生一个环路中断,时长等于已配置的间隔。
本文档使用此图所示的网络设置。
本文档使用此处所示的配置。
主站点 |
---|
MainSite#show run Building configuration... Current configuration : 1121 bytes ! version 12.2 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname MainSite ! memory-size iomem 20 ip subnet-zero ! call rsvp-sync voice rtp send-recv ! interface Loopback1 ip address 205.1.1.1 255.255.255.0 ! interface Serial0 bandwidth 1500 ip address 192.168.1.1 255.255.255.252 no fair-queue clockrate 1300000 ip rtp priority 16384 16383 100 ! router eigrp 1 network 192.168.1.0 network 205.1.1.0 no auto-summary no eigrp log-neighbor-changes ! ip classless no ip http server ip pim bidir-enable ! voice-port 1/0 timing hookflash-out 500 !--- Outgoing hookflash is 500 msec. connection plar opx 200 !--- Use PLAR OPX option on the FXO port. ! voice-port 1/1 timing hookflash-out 500 !--- Outgoing hookflash is 500 msec. connection plar opx 201 !--- Use PLAR OPX option on the FXO port. ! dial-peer voice 100 pots destination-pattern 100 port 1/0 ! dial-peer voice 101 pots destination-pattern 101 port 1/1 ! dial-peer voice 200 voip incoming called-number . destination-pattern 20. session target ipv4:200.1.1.1 dtmf-relay h245-signal !--- H.245-signal to pass hookflash. ip precedence 5 ! line con 0 line aux 0 line vty 0 4 ! no scheduler allocate end |
远程站点 |
---|
RemoteSite#show run Building configuration... Current configuration : 1096 bytes ! version 12.2 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname RemoteSite ! memory-size iomem 25 ip subnet-zero ! call rsvp-sync voice rtp send-recv ! interface Loopback0 ip address 200.1.1.1 255.255.255.0 ! interface Serial0 bandwidth 1500 ip address 192.168.1.2 255.255.255.252 no fair-queue ip rtp priority 16384 16383 100 ! router eigrp 1 network 192.168.1.0 network 200.1.1.0 no auto-summary no eigrp log-neighbor-changes ! ip classless no ip http server ip pim bidir-enable ! ! voice-port 1/0 timing hookflash-in 1000 !--- Interpret loop breaks of up to 1 second. connection plar 100 !--- PLAR provides dial tone from remote PBX. ! voice-port 1/1 timing hookflash-in 1000 !--- Interpret loop breaks of up to 1 second. connection plar 101 !--- PLAR provides dial tone from the remote PBX. ! dial-peer voice 100 voip incoming called-number . destination-pattern 10. session target ipv4:205.1.1.1 dtmf-relay h245-signal !--- Use H.245-signal to pass hookflash. ip precedence 5 ! dial-peer voice 200 pots destination-pattern 200 port 1/0 ! dial-peer voice 201 pots destination-pattern 201 port 1/1 ! ! line con 0 line aux 0 line vty 0 4 ! no scheduler allocate end |
本部分提供的信息可用于验证配置以及对配置进行故障排除。
命令输出解释程序工具(仅限注册用户)支持某些 show 命令,使用此工具可以查看对 show 命令输出的分析。
注意:在发出debug命令之前,请参阅有关Debug命令的重要信息。
debug h225 {asn1 |事件} — 显示有关H.225注册、准入和状态(RAS)消息的实际内容的其他信息。
asn1 | 表明只有所有H.225消息中接收和发送的ASN.1内容会显示。 |
事件 | 表明当从一个网关向另一个网关发出H.323呼叫时,显示发生的主要Q.931事件。 |
Hookflash通过TCP作为一个H.245消息传输,因此可以通过使用debug h245 asn1,显示H245信息包来监控信令。
以下是两个 debug 跟踪。第一个显示接收到数字“5”(H.245呼叫信令通过数字和持续时间)。 第二个跟踪显示Hookflash(显示为“!”)。 没有 Hookflash 的持续时间。根据配置的计时Hookflash毫秒值将信号发送出FXO端口。
MainSite# MainSite#debug h245 asn1 H.245 ASN1 Messages debugging is on MainSite# 00:52:17: H245 MSC INCOMING ENCODE BUFFER::= 6D 810B66A0 0F9F58AD AF684A00 00 00:52:17: 00:52:17: H245 MSC INCOMING PDU ::= value MultimediaSystemControlMessage ::= indication : userInput : signal : { signalType "5" !--- Digit relayed is 5. duration 4000 rtp { timestamp 2913953866 logicalChannelNumber 1 } } 00:52:18: H245 MSC INCOMING ENCODE BUFFER::= 6D 82064001 26000000 00:52:18: 00:52:18: H245 MSC INCOMING PDU ::= value MultimediaSystemControlMessage ::= indication : userInput : signalUpdate : { duration 295 !--- Digit duration was 295 msec. rtp { logicalChannelNumber 1 } } MainSite# !--- This trace from the destination router shows !--- the hookflash passed as the character '!'. MainSite# 00:52:36: H245 MSC INCOMING ENCODE BUFFER::= 6D 81020420 00:52:36: 00:52:36: H245 MSC INCOMING PDU ::= value MultimediaSystemControlMessage ::= indication : userInput : signal : { signalType "!" !--- Hookflash is passed as '!'. } MainSite#
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
02-Feb-2006 |
初始版本 |