1、综合实验二 局域网内部的 VOIP 实现一、 实验目的1. 了解思科的 VOIP 解决方案。2. 理解将 IP 电话连接到 LAN。3. 理解 IP 电话的启动过程。4. 理解 CME IP 电话的基本配置。5. 了解 CME IP 电话的高级配置。二、 实验原理1. 思科的 VOIP 解决方案思科开发出一种描述统一通信系统的模型,分为架构层、呼叫处理层、应用层和终端层。架构层表示建立数据网络基本结构的设备,这些设备有路由器、交换机、语音网关等,架构层最重要的是冗余和服务质量保障。呼叫处理层负责处理呼叫和所有与之相关的功能,包括产生拨号音、建立呼叫、呼叫转移、结束呼叫等。思科最早提供呼叫处理层
2、服务的产品是 Cisco CallManager,该产品安装在专用服务器上,提供大规模(30000 名用户以上)的语音网络服务,但是由于价格很贵,该解决方案不被许多中小企业接受。Cisco 后来扩展了其呼叫处理产品组合,将其分成4 种不同的产品,我们用的 Cisco Unified Communications Manager Express(CME) ,该版本支持 250 名用户,安装在路由器上,不需要专门的服务器。应用层包括许多方式扩展语音功能的应用程序,如语音邮箱、电话会议、呼叫中心、911 服务等。这些应用服务器中有 3 个对于许多 VOIP 网络是“基本应用程序”:语音邮件(Cisc
3、o Unity) 、交互式语音自动应答(Interactive Voice Response,IVR ) 、统一联系中心。终端层包括了系统的各种终端,该层与用户直接接触,如 IP 电话、移动电话、视频电话、即时通信客户端等。2. 将 IP 电话连接到 LAN部分的 Cisco IP 电话内置有交换机,电话通过线缆连接到网络,接口有三种:RS232 接口连接到 IP 电话的扩展模块、 10/100SW 接口连接到交换机、10/100PC 接口连接到计算机。将 IP 电话以物理方式链接到网络后,还需要以某种方式为其供电。在 Cisco 的 VOIP 网络中有以下 3 中供电方式:Cisco Cat
4、alyst 交换机以太网供电( Power over Ethernet,POE ) 、电源配线板 POE、IP 电话电源变压器。以太网电缆中有 8 根线,其中 4 根用户传输数据,其他 4 根被保留未被使用。在线供电(POE )就是在这些被保留的以太网线上传输电力。通过以太网线缆供电有三个主要的好处:有一个集中的电力供应点,减少所需的不间断电源(Uninterruptible Power Supply, UPS)的数量;为那些不能方便连接电源插座的设备供电,如安装在天花板的无线接入点和摄像头;减少办公司中杂乱无章的电缆。POE 有多种标准:Cisco 预标准的 POE,这个是思科专有的标准;I
5、EEE 802.3af,这个是官方的标准。两种标准都能发送 0-15.4W 的功率。3. IP 电话的启动过程理解了 IP 电话的启动过程,才能理解 IP 电话的配置方法。Cisco IP 电话的启动过程如下:1) IP 电话连接到一个以太网端口,若该 IP 电话和交换机都支持 POE,则 IP 电话通过Cisco 预标准的 POE 或 IEEE 802.3af 其中一种方式接收电源。2) 交换机通过 CDP(Cisco Discovery Protocol)方式向 IP 电话传输语音 VLAN 信息,IP 电话就知道它该使用哪个 VLAN。3) IP 电话发送一个 DHCP 请求询问它的 I
6、P 地址信息,连接到语音 VLAN 的路由器接收到该请求后,转发给 DHCP 服务器。4) DHCP 服务器向 IP 电话提供一个响应,包括 IP 地址、掩码、默认网关、DNS 服务器地址、选项 150 服务器地址。选项 150 地址指向一台保存有 IP 电话配置信息的TFTP 服务器。5) IP 电话联系 TFTP 服务器,下载该型号的配置文件,配置文件中有一个有效呼叫处理代理(如 CME)列表。6) IP 电话尝试联系第一个呼叫处理服务器进行注册,若失败,转向下一台服务器,直至注册成功或呼叫处理代理列表用尽。4. IP 电话的基本配置在 CME 路由器的配置中,ephone 代表一个物理设
7、备,ephone-dn 代表一条线路,即一个电话号码。一个 ephone-dn 可以被分配给一个或多个 ephone 上的一个或多个按钮,拨打该电话号码,所有电话一起振铃。ephone-dn 有单线模式( single-line)和双线模式(dual-line) 。在双线模式下,ephone-dn 能同时处理两个通过过程,这对呼叫等待、视频会议和咨询传输等辅助功能是很有用的。在路由器上 ephone-dn 的总数不能超过 max-dn 指定的数目。可以使用 number 命令来指定电话号码,还可以指定一个次要号码,如CME(config)#ephone-dn 2 dual-lineCME(co
8、nfig-ephone-dn)#number 1001 secondary 48051001这样网络内部的用户可以使用 4 为的分机号或完整的 PSTN 直接拨入(DID)来拨通对应的分机。在 CME 中,ephone 通过 IP 电话的 mac 地址来对应到一个物理设备。 CME 上创建和管理的 ephone 数目受到 max-ephone 参数的影响。在使用 IP 电话来打电话之前,必须把电话号码分配给 IP 电话,这就是关联 ephone 和ephone-dn。通过 button 命令在 ephone 配置模式下分配 ephone-dn,语法如下button 常用的 separator
9、如下符号 功能: 标准化铃音。呼入通话时线路振铃,听筒指示灯闪烁b 呼入通话时线路不振铃,但听筒指示灯闪烁,在通话进行时,呼叫等待蜂鸣f 特征铃音。呼入通话时线路三倍振铃m 监控模式。呼入通话时线路不振铃,且不能呼出通话,该模式简单监控共线状态o 覆盖线路(Overlay line) ,无呼叫等待,用于在多个 ephone 中创建一个共享线路c 覆盖线路,有呼叫等待x 覆盖扩展/翻转。当某条覆盖线路已建立有效呼叫时,有接收到其他呼叫,则翻转到 IP 电话的其他线路上s 静音模式,无振铃,无呼叫等待蜂鸣,可视灯和屏幕指示器仍可用5. IP 电话高级配置配置一个共享线路最简单的方法是将同一个 ep
10、hone-dn 分配到多部 ephone 中。多台电话会显示同样的号码,呼叫该号码时,多台 IP 电话同时振铃,先应答的用户处理该呼叫。配置如下:CME(config)#ephone-dn 10 dual-lineCME(config- ephone-dn)#number 1010CME(config)#ephone 8CME(config- ephone)#button 1:10CME(config- ephone)#restartCME(config- ephone)#exitCME(config)#ephone 9CME(config- ephone)#button 1:10CME(co
11、nfig- ephone)#restartCME(config- ephone)#exit这一配置的主要问题是每次只能有一人可以使用共享链路,如果该线路正在使用,则其他电话无法接听以及呼叫。某些应用环境要求共享线路正在使用的时候,共享线路仍然可用(呼叫和接听电话) 。如有 5 个雇员的技术支持组,他们可以从共享线路 1010 上接听支持电话,有一个人正在通话的时候,其他人也能呼叫和接听电话。这时候可以使用有相同分机号码的多个 ephone-dn 进行呼叫。配置如下:CME(config)#ephone-dn 10 dual-lineCME(config- ephone-dn)#number 1
12、010CME(config)#ephone-dn 11 dual-lineCME(config- ephone-dn)#number 1010CME(config)#ephone 8CME(config- ephone)#button 1:10CME(config- ephone)#restartCME(config- ephone)#exitCME(config)#ephone 9CME(config- ephone)#button 1:11CME(config- ephone)#restartCME(config- ephone)#exit如果 CME 路由器接收到一个 1010 的呼叫,
13、如何选择哪个 IP 电话呢?使用 preference命令可以定义 ephone-dn 的优先级,数值越小,优先级越高。如果配置如下,则当ephone-dn 10 总是接到呼入 1010 的电话,只有当 ephone-dn 10 处于繁忙状态或不可用时,ephone-dn 11 才开始接收呼入电话。CME(config)#ephone-dn 10 dual-lineCME(config- ephone-dn)#number 1010CME(config- ephone-dn)#preference 0CME(config)#ephone-dn 11 dual-lineCME(config- e
14、phone-dn)#number 1010CME(config- ephone-dn)#preference 1但是由于 ephone-dn 都是 dual-line 的,第二个电话呼叫进来时,会通过呼叫等待让ephone-dn 10 来接收,而不是转向 ephone-dn 11。此时可以使用 huntstop 命令。huntstop告诉路由器停止通过该 ephone-dn 寻找其他匹配。huntstop channel 命令告诉路由器停止通过该 ephone-dn 的一个信道( one channel)寻找其他匹配。CME(config)#ephone-dn 10 dual-lineCME(
15、config- ephone-dn)#number 1010CME(config- ephone-dn)#preference 0CME(config- ephone-dn)#hunstop channelCME(config- ephone-dn)#no huntstopCME(config)#ephone-dn 11 dual-lineCME(config- ephone-dn)#number 1010CME(config- ephone-dn)#preference 1CME(config- ephone-dn)#hunstop channel通过将 huntstop channel 命
16、令和 no huntstop 命令结合使用,可以告诉 CME 停止为ephone-dn 10 的其他信道进行搜索,但不能完全停止搜索,还要寻找有相同 DN 号码的其他 ephone-dn。如果第三个电话打进来,将听到忙音。对于共享链路的问题,还可以使用 o separator 和 c separator 来实现,将先前的配置变成共享链路配置,当呼入电话 DN1010 时,所有的 IP 电话都会振铃,配置如下:CME(config)#ephone-dn 10CME(config- ephone-dn)#number 1010CME(config- ephone-dn)#preference 0C
17、ME(config- ephone-dn)#no huntstopCME(config)#ephone-dn 11CME(config- ephone-dn)#number 1010CME(config- ephone-dn)#preference 1CME(config)#ephone 8CME(config- ephone)#button 1o10,11CME(config- ephone)#exitCME(config)#ephone 9CME(config- ephone)#button 1o10,11CME(config- ephone)#exitCME(config)#teleph
18、ony-serviceCME(config- telephony)#restart all使用 o 关键字,做无呼叫等待覆盖,当接到 1010 的第一个来电时,两个电话都振铃,任意一个都可以接听,如果第二个来电进来时,未应答第一来电的 IP 电话会振铃,仍在通话的 IP 电话不会听到呼叫等待蜂鸣。如果想要呼叫等待有效,可以使用 c 关键字,则在通话中的 IP 电话会听到呼叫等待蜂鸣,这个蜂鸣不是由于 ephone-dn 10 产生的(接收了第一个来电) ,而是 ephone-dn 11 产生的(要接受第二个来电) 。上面的配置没有使用 dual-line 配置,这就使得 o 和 c 关键字发挥
19、了原本的作用。如果两者都配置了,dual-line 配置会决定呼叫的处理过程。所以在使用 o 关键字的时候,不使用 dual-line 配置;如果要使用 dual-line 配置,则加入 huntstop channel 和 no huntstop 命令,以避免 dual-line 与 o 关键字的冲突。最后需要提醒的是,将 ephone-dn 配置为 single-line 或 dual-line 模式后,需要先删除原来的 ephone-dn,再建立具有同样号码的 ephone-dn,才能改变模式。不删除原来的ephone-dn,直接建立同样号码的 ephone-dn,不会覆盖原来的配置,反
20、而会提示错误。三、 网络拓扑C M E模拟电话S w i t c h _ P O E电话线F X S 0 / 0 / 0 F a s t E t h e r n e t 0 / 01 7 2 . 1 6 . 1 . 1 / 2 4I P 电话I P 电话四、 实验步骤1. 连接实验设备1.1. 使用电话线连接模拟电话和 CME 的 FXS 模块。1.2. 使用直通线连接 CME 和 Switch_POE,使用直通线连接 IP 电话和 Switch_POE,确认交换机具有在线供电(POE)功能。2. 配置交换机,使 IP 电话和路由器处于同一个 VLAN 中。3. 配置基于路由器的 DHCP 服
21、务、时钟、支持的电话数、源地址3.1. 在路由器上输入以下命令,使之具有 DHCP 功能RouterenableRouter#configure terminalRouter(config)#hostname CMECME(config)#ip dhcp excluded-address 172.16.1.1CME(config)#ip dhcp pool VOICECME(dhcp-config)#network 172.16.1.0 255.255.255.0CME(dhcp-config)#default-router 172.16.1.1CME(dhcp-config)#dns-ser
22、ver 222.200.160.1CME(dhcp-config)#option 150 ip 172.16.1.13.2. 在路由器上输入以下命令,使之具有正确的时间CME(config)#ntp server 64.209.210.20CME(config)#clock timezone China 8CME#clock set clock set 18:07:30 16 July 20103.3. 在路由器上输入以下命令,使之支持 5 个 IP 电话、10 条线路CME(config)#telephony-serviceCME(config-telephony)#max-ephones
23、5CME(config-telephony)#max-dn 103.4. 在路由器上输入以下命令,指定语音通信时的源地址CME(config-telephony)#ip source-address 172.16.1.14. 配置基于路由器的 TFTP 服务4.1. 核对路由器上 flash 中的 IP 电话固件文件,在路由器上输入以下命令,可以看到路由器上的 flash 中的文件。CME#dir flash:CME#dir flash:/phoneCME#dir flash:/phone/7940-79604.2. 配置 TFTP 服务,在路由器上输入以下命令,使固件文件成为可用资源。 al
24、ias 语句是为了设置文件的别名,Cisco IP 电话只询问固件文件名,不知道固件文件的全路径。CME#configure terminalCME(config)#tftp-server flash:/phone/7940-7960/P00308000500.bin alias P00308000500.binCME(config)#tftp-server flash:/phone/7940-7960/P00308000500.loads alias P00308000500.loadsCME(config)#tftp-server flash:/phone/7940-7960/P00308
25、000500.sb2 alias P00308000500.loadsCME(config)#tftp-server flash:/phone/7940-7960/P00308000500.sbn alias P00308000500.loads4.3. 为 IP 电话指定固件加载。每种 IP 电话模型需要的固件文件可以在思科网站上的 Cisco Unified Supported Firmware, Platforms, Memory and Voice Products 文件中查阅。CME(config)#telephony-serviceCME(config-telephony)#loa
26、d 7940 P00308000500.loadsCME(config-telephony)#load 7960 P00308000500.loads4.4. 生成配置文件。一旦路由器上关于 IP 电话的设置有所改变,路由器便输出以下提示,更新配置文件。Updating CNF filesCNF files update complete如果想手动干预路由器创建配置文件,可以在电话服务配置模式下使用以下命令CME(config-telephony)#create cnf-filesCNF file Creation is already OnUpdating CNF filesCNF file
27、s update complete5. 配置电话和电话线路5.1. 产生电话线路,ephone-dn 最简单的形式就是一个目录号码,它可以被分配给一个或多个 IP 电话上的一个或多个按钮。 ephone-dn 可以是单线或双线模式。双线能同时处理两个通话过程。CME(config)#ephone-dn 1CME(config- ephone-dn)#number 2001CME(config- ephone-dn)#exitCME(config)#ephone-dn 2 dual-lineCME(config- ephone-dn)#number 20025.2. 配置电话,向 ephone
28、指定对应的 MAC 地址。CME(config)#ephone 1CME(config- ephone)#mac-address 0014.1c48.e71aCME(config- ephone)#exitCME(config)#ephone 2CME(config- ephone)#mac-address 000c.2957.acf5CME(config- ephone)#exit5.3. 关联 ephone 和 ephone-dn。button 命令在 ephone 配置模式下,将 ephone-dn 分配给ephone 的一个按钮。button CME(config)#ephone 1C
29、ME(config- ephone)#button 1:1CME(config- ephone)#restartCME(config)#ephone 2CME(config- ephone)#button 1:2CME(config- ephone)#restart冒号表示这是一个“正常铃音”按键分配,restart 使得电话可以在 TFTP 服务器上进行热重启,并重新下载配置文件。5.4. 验证配置情况CME#show ephone6. 配置模拟电话6.1. 查看电话连接到路由器的哪个语音端口CME #show voice port summary6.2. 配置模拟电话CME#configu
30、re terminalCME(config)#voice-port 0/0/0CME(config-voiceport)#signal loopStartCME(config-voiceport)#cptone CNCME(config-voiceport)#station-id name Phone_MCME(config-voiceport)#station-id number 10017. 配置拨号对等体7.1. 配置 POTS 拨号对等体CME(config)#dial-peer voice 1001 potsCME(config-dial-peer)#destination-patt
31、ern 1001CME(config-dial-peer)#port 0/0/0CME(config-dial-peer)#exit8. 验证网络连通性8.1. 使用其中一个电话拨打另外两个电话,如果都能打通,说明网络正确连通。五、 实验拓展1. 一个公司想为 3 部 IP 电话创建 4 个 DN,要求如下:1) IP 电话 1(正常雇员)线路 1电话号码 1010,正常铃音线路 2电话号码 1015,特征铃音2) IP 电话 2(正常雇员)线路 1电话号码 1011,正常铃音线路 2电话号码 1015,特征铃音3) IP 电话 3(总机)线路 1电话号码 1012,正常铃音线路 2电话号码 1010,监控电话 1 状态线路 3电话号码 1011,监控电话 2 状态线路 4电话号码 1015,特征铃音请写出关联 ephone 和 ephone-dn 的配置命令,并进行实验测试配置是否成功。2. 写出实验原理部分技术支持人员案例的合理的完整配置。六、 思考题1. 简述 IP 电话的启动过程。2. 简述关联 ephone 和 ephone-dn 的方法。3. 简述配置共享链路的方法。