1、配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 1 页, 共 21 页文档编号 Document ID 密级 Confidentiality level内部公开文档状态 Document Status华为三康技术有限公司Huawei-3Com Technologies Co., Ltd.Draft 1.00 共28页 Total 28 pages配置Cisco路由器作为H.323网关拟制Prepared by 张 磊 Date日期2006-10-14评审人Reviewed by Date日期批准Approved byDate日期
2、华为三康技术有限公司Huawei-3Com Technologies Co., Ltd.版权所有 侵权必究All rights reserved配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 2 页, 共 21 页Revision Record 修订记录Date日期Revision Version修订版本Sec No. 修改章节Change Description修改描述Author作者2006-10-14 1.00 Initial 初稿完成 张 磊配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华
3、为三康机密,未经许可不得扩散 第 3 页, 共 21 页目 录目 录 31 前 言 32 H.323 网关 43 配置Cisco VoIP中的拨号对等体(dial-peer ) .43.1 POTS拨号对等体 63.2 VoIP拨号对等体 .93.3 查看已配置的拨号对等体 93.4 入站拨号对等体 104 查看Cisco 语音端口状态 134.1 show voice port .134.2 show voice port summary154.3 show voice call summary.165 配置H.323 GK客户端 .175.1 使能H.323语音网关功能 185.2 为H.
4、323网关选定一个路由器接口 185.3 配置GK的ID及IP地址 195.4 配置本地GW的ID .205.5 配置网关技术前缀 205.6 验证网关配置是否注册成功 20配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 4 页, 共 21 页1 前 言本文重点介绍如何将Cisco路由器配置成 H.323语音网关的基本方法和相关概念,并以实验角度对其过程进行了解释说明,并指出Cisco 语音网关配置命令相对应于我司VRP产品的哪些配置命令以及其中的细小差别(如果有差别的话)。本文的内容只涉及配置Cisco 路由器作为H.323的
5、网关,本想把如何将其配置成语音GK的实现也写出来,以便参阅者可以使用参考,用Cisco GK与我司设备做RAS互通,但由于目前对Cisco的语音实现了解还不是很深,且马上要进行 NE20E的回归,所以,暂且把GK的配置留作下次总结。另外注明,由于笔者刚刚学习Cisco 的语音配置,本文档原本仅作为自己的学习备忘录的形式写的。现应同组语音方向同学的要求简单整理了一下贴出来,多有言语不通的地方请参阅者海涵,若有理解性错误请note联系多多指教,谢谢!2 H.323 网关IP电话网关(GateWay,简称GW)位于公用电信网(PSTN)和Internet接入站点之间,在路由器上配置的语音网关其实有两
6、个方面的作用,一是做媒体网关,即将PSTN网络上的语音信号编码、压缩后通过Internet网络传送到对端IP电话网关,同时接收来自于Internet 网络上的IP 包,解压后还原成PSTN网络的语音信号。二是做信令网关,即将PSTN侧的语音信令如LGS 、EM、R2等信令格式转变为 VoIP侧的语音信令协议,如SIP、H.323等。我司VG语音网关和插有语音板卡的多业务路由器均可以作为 VoIP语音网关。配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 5 页, 共 21 页3 配置 Cisco VoIP 中的拨号对等体(dial
7、-peer)如果配置过我司插卡路由器或VG语音网关产品,就会发现再学习 Cisco的语音配置会非常容易上手,但是感觉Cisco 的语音拨号流程比我们的要稍微复杂一些,下文会有介绍。同我司的产品一样,理解与掌握Cisco VoIP配置的关键在于理解其dial-peer拨号对等体(相当于我司的语音实体 voice entity)。Cisco的拨号对等体可以是普通老式电话服务( POTS,POTS拨号对等体定义了传统PSTN网络电话特征,即将一个拨号字符串同本地网关上的一个或多个语音接口相关联,通常情况下,该这个语音接口连接网关和本地PSTN、PBX或者普通模拟电话),也可以是几种语音分组拨号对等体
8、之一:VoIP(包括H.323 和SIP)、 VoFR、VoATM (此类型我司产品不支持)。在概念上Cisco的dial-peer可以完全等同与我司的voice entity概念,只是叫法不同而已。拨号对等体的配置命令为: dial-peer voice dial-peer-number peer-type。可以看出每个拨号对等体以关键字dial-peer voice开始,其后为一个dial-peer的编号。该编号仅是本地有意义,在本地网关上唯一地代表了一个拨号对等体,但在呼叫路由上不起任何作用。不过当所有的匹配策略都相同的情况下,系统会优选编号小的拨号对等体。在拨号对等体编号后面是该拨号对
9、等体的类型,种类包括POTS、 VoIP、VoFR、VoATM 、MMoIP(Multi Media Over IP)。如下为一些拨号对等体配置的例子:配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 6 页, 共 21 页拨号对等体的一个作用是选择呼叫路由。拨号对等体配置参数destination-pattern用于配置呼叫路由。destination-pattern 参数由一系列文本字符串组成,等同于我司VRP的匹配模板(match-template)命令。destination-pattern命令后的文本字符串参数可以由如下
10、字符组成:数字09、*、字母A D;字母T : 表示0或多位数字;符号 . :只表示一位字符,可以与任何一位有效号码匹配。digit(s):一次只表示一位或多位数字。例如24-6 可以符号, :表示暂停一秒(只适用与POTS拨号对等体,我司设备无此符号)。同我司的拨号策略一样,在电话机上拨入一个电话号码,有可能对应多个拨号对等体。Cisco的VoIP也是缺省使用最长匹配策略,即,如果有两个拨号对等体的destination-pattern分别是123和12345.并且在电话机上输入的被叫号码为123456,则Cisco IOS会先匹配上那个destination-pattern为12345.的
11、拨号对等体,如果该对等体呼叫失败(比如RAS没有相应、配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 7 页, 共 21 页查不到到该voip IP地址的路由、 POTS实体shutdown等),IOS 会尝试其他的对等体来进行匹配。当然和VRP 平台一样, IOS也可以通过在拨号对等体中加入preference命令来手工指定哪个拨号对等体享有较高的拨号优先级。preference 的取值范围为010,不过这里要注意,preference的数值越低,代表着该拨号对等体优先级的级别越高,缺省的优先级是0。当一个拨号对等体被匹配后,
12、IOS必须知道如何路由该呼叫,若是VoIP需要告诉IOS 目的网关的IP 地址,而若是POTS 对等体则需要告诉IOS该对等体对应于本网关上的哪一个物理端口。下面分别举例说明:3.1 POTS 拨号对等体首先看一个POTS拨号对等体的实例:可以看到,该POTS实体使用port命令将拨号对等体关联到了一个语音用户线上。Port命令等同于我司VRP上面的line命令,其后面的参数可以是 FXO、FXS或VoiceE1/T1中继中的某个时系。不过感觉IOS在命令配置上比我司VRP更加人性化,当输入port后面的参数时,可以通过敲入?来寻求获得当前可配置语音用户线的范围:配置 Cisco 路由器作为
13、H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 8 页, 共 21 页而我司产品在输入line命令后面的参数时,敲入?只能得到提示说应该输入一个字符串(好像是废话),而至于应该输入什么、格式如何、范围是什么、几维表示等均没有提供。虽然是一个很小的地方,但是在具体使用时会感觉很不方便。这里还需要注意的一点是,对于POTS语音对等体,当向语音中继线路发送被叫号码时,IOS同VRP一样,缺省的操作是去掉已经明确匹配的数字后仅发送剩余的未匹配数字。如:若destination-pattern为123被叫号码为123456,则仅发送456到语音中继线。为了取消缺省的操
14、作,可以在拨号对等体配置模式下使用no digit-strip或者forward-digits all (对应于我司VRP的 send-number all命令),也可以使用prefix命令把跳过的数字放在后面,或者用与配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 9 页, 共 21 页被去掉的数字不同的数字作为前缀。除了digit-strip和forword-digits这两条命令,还有一些专门用于POTS拨号对等体的命令参数,大部分命令都可以在我司VRP平台中找到对应的命令,只是命令名称有所不同而已。1.Digit-str
15、ip:上文提到了,用于去掉所有POTS拨号对等体已经匹配了的数字,缺省是enable状态。通过no digit-strip命令可以让其不执行。2.forward-digits:允许发送的号码位数,其后参数有:032:发送的号码位数,注意是右对齐格式。All: 不裁减被叫号码,发送全部的被叫号码。Extra:缺省值,仅发送没有被精确匹配了的数字。3.huntstop:前文提到过,一个被叫号码有可能对应多个拨号对等体,IOS缺省采用最长匹配,但当先匹配上的拨号对等体呼叫失败后,会尝试其他拨号对等体,使用此命令的作用就是让IOS一旦搜索到了拨号对等体后就退出继续查找,等同与我司的select-sto
16、p命令功能相同。4. max-conn:设置拨号对等体可以同时处理呼叫的最大数量。该命令等同于我司的max-call命令。参数范围从1至2147483647。5.numbering-type:为发送信息的接口设置呼叫和被呼叫放号码类型。该命令用于ISDN。可选参数包括 abbreviated、 international、 national、 network、 reserved、 subscriber和 unknown6.preference:设置拨号对等体的优先级。前文已经提到过,如果两个拨号对等体配置了同样的被叫号码,preference命令决定匹配的先后顺序。Preference后的参数
17、越小,越会被优先匹配,缺省为0。7.prefix:在呼叫号码前指明号码模式。8.progress_ind:允许特定信息的进程。3.2 VoIP 拨号对等体如果是VoIP拨号对等体,就必须告诉网关路由语音呼叫的目的网关IP地址。可以使用配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 10 页, 共 21 页命令session tartget ipv4: ip address 指定IOS 将语音呼叫路由到该IP地址所在的网关处处理或使用命令 session tartget ipv4:ras 通过RAS 方式处理该语音呼叫。具体的Vo
18、IP拨号对等体的实例如下:3.3 查看已配置的拨号对等体由于Cisco的IOS无法查看当前视图下的配置,使用show running-config命令查看所有配置检索工作量太大,用正则表达式也麻烦且不太好使。所以当配置完拨号对等体后可以通过show dial-peer voice summary或后面加具体的dial-peer编号验证配置情况:感觉show dial-peer voice summary命令比较有用,我司产品有对应的display voice entity all命令:配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散
19、第 11 页, 共 21 页3.4 入站拨号对等体前文已经提到过,Cisco和我司的语音拨号流程还是有些区别的,可以说比我司的流程稍微复杂一些。即,在Cisco IOS中每一个H.323呼叫都要有一个入站拨号对等体和一个出站拨号对等体。上文提到的destination-pattern命令匹配的被叫方总是用来匹配出站拨号对等体,匹配了destination-pattern后的字符串参数后,呼叫就会按照port命令或session target命令指定的参数,路由到对应的语音用户线或VoIP语音网关上。那么为什么还要为呼叫配置一个入方向的拨号对等体呢?答案是确定入方向侧(包括VoIP和POTS)的
20、语音参数。这里以VoIP呼入为例,一个VoIP呼叫从网络侧传来,比如说网关接收到了一个setup或invite请求,网关如何决定使用哪种codec、DTMF relay和VAD等参数呢?就是通过使用入站拨号对等体。入站拨号对等体指明了如何设置VoIP参数,不影响呼叫的路径,即不会影响呼叫会被路由到哪一个POTS端口上,而是确定所有VoIP端的呼叫特征。Cisco IOS这么设计我个人觉得是希望让拨号流程更加清晰一些,有了一个入方向的拨号对等体,虽然流程上复杂了一些,但是每个步骤的任务非常清晰。不会出现我司设备那种在POTS实体上来配置voip语音编解码和VAD等参数的概念性矛盾问题。入站拨号对
21、等体是通过单独命令incoming called-number和answer-address来匹配的,配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 12 页, 共 21 页其中incoming called-number用于匹配被叫号码,answer-address用来匹配主叫号码。dial-peer voice 1 voipincoming called-number 123destination-pattern 456session target ipv4:1.1.1.1dtmf-relay h245-alphanumer
22、iccodec g711alawno vaddial-peer voice 2 potsdestination-pattern 123port 1/0来 自 网 络 侧的 VoIP呼 叫红色部分表示入站、出站两个方向都是根据被叫号码123来选择相应的对等体。绿色部分分别表示入站、出站对等体的作用是不同的,入站用于协商/确定参数,而出站是用于确定语音用户线端口。对于源于POTS端口的呼叫,选择入站对等体的规则是相同的。如果呼叫不能用上面讨论过的方法进行匹配,入站对等体就要根据端口配置进行选择。如果使用以上方法均不能确定入站对等体,则入站对等体便会设为peer ID 0。peer ID 0的特征是
23、不能被改变的。对于入站VoIP呼叫,peer ID 0的特征如下:支持任何的编解码没有DTMF中继IP优先级为0VAD启用不支持RSVPfax-rate语音对于POTS呼叫,peer ID 0有以下特征:无应用程序没有direct-inward-dialCisco指出要尽量的避免使用peer ID 0。应该确保至少有一个能够被incoming called-number匹配的拨号对等体。配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 13 页, 共 21 页4 查看 Cisco 语音端口状态4.1 show voice port
24、 配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 14 页, 共 21 页使用show voice port 命令可以查看选定端口的详尽信息,非常的详尽。该命令等同于我司VRP命令display voice subscriber-line (查看语音用户线状态)配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 15 页, 共 21 页4.2 show voice port summary使用show voice port summary命令可以查看所有语音端口的当前
25、状况:包括该端口配置的信令类型、管理性状态(是否该端口被管理员shutdown)、操作状态(当该端口未使用时显示dorm表示DORMANT,即正处于休眠状态。当该端口摘机后显示未up)入、出两个方向的状态(是否摘机等)、是否使能回声抑制(EC )配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 16 页, 共 21 页4.3 show voice call summary可以使用show voice call summary命令来查看所有语音呼叫的当前通话情况:语音编解码、是否开启静音检测、VTSP当前状态及VPM的状态。下表列出
26、了在Cisco IOS上VTSP可能出现的所有状态及对应的描述:VTSP状态 描 述S_NULL 初始化状态S_SETUP_FAIL 请求被处理,但没有得到DSP信道S_SETUP_IND_PEND 呼叫被暗示,等待DSP信道开通S_SETUP_INDICATED 可以使用S_DIGIT_COLLECT DTMF/脉冲数字收集模式S_PROCEEDING 呼叫正在被处理(但仍未接通)S_ALERTING 本地alerting(但仍为接通)S_WAIT_RELEASE_NC 中断正等待断开的未连接呼叫(产生错误信 号)S_WAIT_RELEASE_RESP 未连接的应用终端呼叫。用户中断等待TS
27、P 响应S_WAIT_HOST_DISC 未连接的应用中断呼叫,等待应用程序中止S_WAIT_ERROR_STAT 等待DSP 错误统计S_CONNECT 呼叫被连接S_SETUP_REQ_PROC 一个外出请求送至TSPS_SETUP_REQ_FAIL DSP要求外出呼叫停止。等待CCAPI中断请 求S_SETUP_REQ_PEND 设置被申请,等待DSP信道S_SETUP_REQ_DISC 等待DSP信道时,CCAPI被中断S_CLOSE_DSPRM呼叫进程结束,等待来自DSPRM的close completeS_WAIT_STATS 收集最终的呼叫统计S_WAIT_RELEASE 应用程
28、序中止了已经连接的呼叫S_LFAX_WAIT_ACK 等待异地传真交换应答S_LFAX_DOWNLOAD 由于本地音调探测,下载传真S_LFAX_WAIT_FAX 启动fax-mode 等待codec-fax配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 17 页, 共 21 页S_FAX 以传真中继模式运行S_RFAX_DOWNLOAD 由于异地传真探测,下载传真S_RFAX_WAIT_ACK 启动fax模式前等待fax应答S_DOWNLOAD_TERM 下载传真时接到中断信号,下载完成时中止S_FAX_TERM 断开后等待语
29、音下载完成S_SETUP_IND_NO_DSP TSP的设备没有DSPS_SETUPREQUEST 设备被请求,等待呼叫进程S_SETUP_REQ_NO_DSP CCAPI的设备没有DSPS_WAIT_STATS_RETRY 再次尝试S_PCM_SWITCHOVER 在进程中,fax/modem PCM交换S_RFAX_SERVICE 等待DSP fax 服务(远端)S_LFAX_SERVICE 等待DSP fax 服务(本地)S_LFAX_WAI_CAPS_ACK 等待 T.38 fax中继能力S_ALLOC_DSP_PEND 空闲DSP等待allocate_dspS_ALLOC_DSP D
30、SP已分配S_SETUP_PROGRESS Setup送至TSP,接到 progressUNKNOWN STATE 未知FSM 状态根据VTSP 的状态,我们可以看到语音端口在任何时刻上的呼叫状态。5 配置 H.323 GK 客户端在一个简单的VoIP的语音网络环境中可以仅通过使用在VoIP语音拨号对等体下静态地配置对端网关的IP地址即可。同静态路由和动态路由的区别一样,在复杂的VoIP组网环境中静态的设置是一件痛苦且不太现实的事情,并且配置了GK ,还可以完成除了地址翻译之外的诸如访问控制、安全检查、路由控制和计费等许多功能。配置Cisco路由器作为H.323语音网关与配置我司设备在流程上没
31、有太大区别,但首先要选定一个路由器接口作为语音网关接口。RAS(注册 Registration、许可Admission、状态Status )信令功能用于实现在H.323 VoIP网关及H.323 VoIP关守之间的注册、访问许可、状态表示及注销等功能。RAS告诉关守如何将会话的E.164电话号码翻译成IP地址。配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 18 页, 共 21 页在网关和关守的RAS交换过程中,若所选择的区域(zone)中包含不只一个网关时,技术前缀(technology prefix)用于标识特定的网关。可以
32、使用tech-prefix dial-peer配置命令定义技术前缀。在大部分情况下,在网关和关守之间会使能动态协议来通知关守网关的技术前缀,并告知其该向何处来转发呼叫。但若因某些意外情况,动态注册特性没有发挥作用,可以静态地配置关守查询网关的相关信息。5.1 使能 H.323 语音网关功能和我司VRP 一样, Cisco的IOS 软件在缺省时是不会自动开启H.323网关功能的,第一次使用时需要在全局模式下使用gateway命令,同时会进入到 gateway配置模式。我司产品相应的要使用gk命令。5.2 为 H.323 网关选定一个路由器接口若要将一台Cisco设备配置成 H.323网关并提供相
33、应的服务,必须将在该设备上的至少一个接口指定为网关接口。其中网关接口可以是一个与关守(gatekeeper)相连接的物理接口,如以太网接口、FDDI接口或令牌环接口等,也可以是一个逻辑的loopback 接口。配置方法为:进入全局配置模式,并使用如下配置命令:步骤1:Router(config)gateway : 使能网关(gateway)服务,并进入gateway配置模式。步骤2: Router(config-gateway)exit: 退出gateway配置模式。步骤3: Router(config) ip cef: (可选)使能Cisco Express Forwarding(CEF)特
34、性。步骤4: Router(config) interface 接口类型 接口编号 : 进入接口配置模式,配置选定的网关接口。步骤5: Router(config-if )h323-gateway voip interface :指定该接口为VoIP网关配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 19 页, 共 21 页接口。5.3 配置 GK 的 ID 及 IP 地址步骤6: Router(config-if )h323-gateway voip id gatekeeper-id ipaddr ip-address por
35、t-number | multicast priority number :(可选)定义关守(gatekeeper)的名字和位置。注1:其中的各项参数含义如下:1. gatekeeper-id:指明了H.323 关守的名字,该值必须与在关守上配置的gatekeeper ID精确匹配,否则可能无法注册成功。Cisco 推荐的格式是“name.domain”)。2. ipaddr :指明网关通过哪个IP地址与关守进行通讯。3. port-number: (可选)定义使用的端口号。4. multicast: 指定网关使用多播方式同关守通讯。5. priority number: (可选)定义该关守的
36、优先级,范围从1到127,缺省值为127。注意,这里定义的是优选哪一个关守。可以看出容错方面,Cisco可配置的冗余关守有127个之多,而我司只能定义一主一从两个GK(在gk配置视图下使用: gk-id、gk-2nd-id命令进行配置,必须先配置gk-id才可以配置gk-2nd-id)。注2:必须先定义网关接口再指定GK ID,否则会有错误提示: 配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 20 页, 共 21 页5.4 配置本地 GW 的 ID步骤7: Router(config-if)h323-gateway voip
37、h323-id interface-id :(可选) 定义H.323网关的名称。参数interface-id即为本网关同其gatekeeper通讯时标称自己的H.323名称(ID )。同样需要同关守上配置的网关名称相同,否则可能无法注册成功。通常该ID使用网关的名字加上gatekeeper的域名的形式,即:namedomain-name。5.5 配置网关技术前缀步骤8: Router(config-if)h323-gateway voip tech-prefix prefix : (可选)定义该网关向关守注册时的技术前缀(technology prefix)。参数prefix定义作为技术前缀的
38、数字。每一个技术前缀能够包含最多11个字符。虽然不是强制要求,但技术前缀通常都以井号()作为最后一位字符。有效的字符包括数字09、号和星号(*)。5.6 验证网关配置是否注册成功当配置完GK,并且路由器通过RAS 信令成功注册上GK后,Cisco IOS会打印出注册成功的信息:另外,可以使用show gateway命令可以查看网关配置情况:配置 Cisco 路由器作为 H.323 网关 内部公开2011-09-18 华为三康机密,未经许可不得扩散 第 21 页, 共 21 页经过以上八个步骤,Cisco H.323 GK客户端就基本配置完成了。可以根据组网需要和GK的配置,在各个实体下配置session target 为RAS,使用 GK来动态路由语音呼叫了。