语音 : H.323

在 FXS/FXO 语音端口上配置 Hookflash 中继

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

将 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 中继

使用此步骤可配置专线、自动振铃 (PLAR ) 外线分机 (OPX) 和 Hookflash 中继。

  1. 将 MainSite 路由器上的 FXO 端口配置为 connection plar-opx

    OPX模式允许FXS端口上的远程用户以直接连接的扩展形式出现在中央PBX上。当FXO端口发现PBX的环信号时,路由器向远端FXS端口发送VOIP呼叫设置,但它并不使FXO端口摘机。结果,当拾起RemoteSide路由器FXS端口时,PBX只看到呼叫应答信号。当无应答超时(振铃停止)后,PBX可以结束呼叫,把呼叫转到语音邮件,或转接到其它分机/振铃组。没有 OPX 模式,FXO 端口将在检测到振铃时立即转为摘机状态,这样 PBX 就不能够执行呼叫转移、无应答或转到语音邮件功能。

  2. RemoteSite路由器必须配置来感知并传递FXS端口上的Hookflash信号。

    由于 Hookflash 只是暂时中断 FXS 端口上的环路电流,且不能作为音频信号发送,因此路由器会通过双音多频 (DTMF) 中继将 Hookflash 信号作为“!”字符。然后,带有FXO端口的路由器发送一个短环路中断,外部设备将其看作Hookflash。如果要正确传输Hookflash信号,需要为dtmf-relay h245-signal配置VoIP 拨号对端。

  3. 物理端口计时器必须进行调整,使之适应 FXS 端口上的电话话筒的特征和 FXO 端口上的 Hookflash 环路中断时长,如下所示:

    • FXS语音端口(RemoteSite路由器)使用timing hookflash-out-in msec 命令,这里毫秒是指被解晰为Hookflash的电话听筒的环路中断(以毫秒计)的最大值。大于配置值的环路中断被当视为连接中断,因此呼叫也将中断。低于此值的任何间隔都将导致路由器通过 H.245 信号 DTMF 中继发送“!”字符。

    • FXO语音端口(MainSite路由器)使用 timing hookflash-out msec命令,这里毫秒是指以毫秒为单位的流出循环中断时长。当路由器收到 H.245 信号形式的 DTMF 中继信号时,FXO 端口会产生一个环路中断,时长等于已配置的间隔。

网络图

本文档使用此图所示的网络设置。

/image/gif/paws/15405/pbx_across_ip.gif

配置

本文档使用此处所示的配置。

MainSite
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#

相关信息


Document ID: 15405