目录

简介

先决条件

要求

使用的组件

规则

背景信息

配置

网络图

配置

配置交换机端口以传输语音和数据流量

配置嵌入式电源支持

配置 QoS

使用预定义的宏配置交换机

验证

故障排除

Catalyst 3560G：拔掉非 PoE 设备后 IP 电话失去供电

7935 IP 会议电话接收数据 IP 地址而不是语音 IP 地址

IP 电话未提供 MAC 身份验证旁路 (MAB)

IP 电话未从 DHCP 服务器获得 IP 地址

相关信息

简介

本文档提供用于连接到 Cisco IP 电话的 Catalyst 交换机上的示例配置。本文档包括交换机端口、嵌入式电源和服务质量 (QoS) 的配置。交换机端口配置使用预定义的宏，该宏使用最少的命令配置交换机端口和 QoS 设置。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

背景信息

本文档说明在交换机端口上连接 PC 和 IP 电话的交换机的配置。该 Cisco IP 电话包含一个集成式三端口 10/100 交换机。这些端口专用于连接。

- 端口 1 连接到 Catalyst 交换机或支持 IP 语音的其他设备。

- 端口 2 是一个内部 10/100 接口，用于传输话流量。

- 端口 3 连接到 PC 或其他设备。

注意：只有两个端口可以实际查看。第三个端口是内部端口，无法实际看到。这里，端口 2 是无法实际看到的端口。

交换机具有两个 VLAN：一个传输数据流量，一个传输语音流量。交换机端口可以是接入 VLAN 或中继 VLAN，但您需要配置一个语音 VLAN 以传输语音流量。

如果您的交换机模块可以向终端站提供以太网供电 (PoE)，您可以将该模块上的每个接口都设置为当终端站需要电源时自动检测并应用 PoE。默认情况下，当交换机在某个接口上检测到用电设备时，它会假定用电设备使用它所能提供的最大功率端口。传统 PoE 模块上的最大功率为 7 W，而 Cisco IOS® 软件版本 12.2(18)EW 中引入的 IEEE PoE 模块上的最大功率为 15.4W。当交换机收到来自用电设备的 Cisco 设备发现协议 (CDP) 数据包时，功率将自动向下调整到设备所需的特定瓦数。通常，此自动调整可以进行得很好，并不需要或建议进一步的配置。但是，您可以为整个交换机（或特定接口）指定用电设备的功耗，以便从您的交换机提供额外的功能。当 CDP 被禁用或不可用时，这会很有用。

因为在不均匀地发送数据的情况下，IP 电话呼叫的音质会变差，所以交换机使用基于 IEEE 802.1p Class of Service (CoS) 的 QoS。 QoS 使用分类和计划以可预期的方式从交换机传输网络流量。有关 QoS 的详细信息，请参阅配置 QoS。Cisco AutoQoS 能够以一致方式自动在 Cisco 路由器和交换机间部署 QoS 功能。它能够根据网络环境和 Cisco 最佳实践建议启用各种 Cisco QoS 组件。

配置

本部分提供有关如何配置本文档所述功能的信息。

注意：使用命令查找工具(仅限注册客户)可获取有关本节中使用的命令的详细信息。

网络图

本文档使用以下网络设置：

配置

Catalyst 交换机的配置包括以下配置：

- 配置交换机端口以传输语音和数据流量

- 配置嵌入式电源支持

- 配置 QoS

- 针对第 2 层上行链路配置 QoS

- 针对第 3 层上行链路配置 QoS

- 使用 Cisco 预定义的宏配置交换机

配置交换机端口以传输语音和数据流量

使用中继链路将 IP 电话连接到交换机时，会导致交换机中的 CPU 使用率过高。因为特定接口的所有 VLAN 都中继到该电话，所以会增加交换机必须管理的 STP 实例数。并进而提高 CPU 使用率。中继行为还会造成不必要的广播/组播/未知单播流量流入电话链路。

为避免这种情况，请删除中继配置并保留与服务质量 (QoS) 一起配置的语音和接入 VLAN。 从技术上来说，它仍然是中继，但它称为多 VLAN 接入端口 (MVAP)。 因为语音和数据流量可以通过相同端口传输，所以您应为每种类型的流量都指定不同的 VLAN。您可以将某个交换机端口配置为在不同的 VLAN 上转发语音和数据流量。请使用语音 VLAN 配置来配置 IP 电话端口。此配置创建一个伪中继，但不需要您手工修剪不必要的 VLAN。

语音 VLAN 功能允许接入端口传输来自 IP 电话的 IP 语音流量。该语音 VLAN 功能默认为禁用。当配置了语音 VLAN 时，端口快速功能会自动启用。当禁用语音 VLAN 时，端口快速功能不会自动禁用。以下是语音 VLAN 配置中的选项：

Switch(config-if)#switchport voice vlan ?

<1-4094>  Vlan for voice traffic

dot1p     Priority tagged on PVID

none      Do not tell telephone about voice vlan

untagged  Untagged on PVID

- 输入语音 VLAN ID 以发送 CDP 数据包，这些数据包将 IP 电话配置为以带有语音 VLAN ID 和第 2 层 CoS 值（对于语音流量，默认为 5；对于语音控制流量，默认为 3）标记的 802.1Q 帧的形式传输语音流量。 有效的 VLAN ID 范围是 1 到 4094。交换机将 802.1Q 语音流量置于语音 VLAN 中。

- 输入 dot1p 关键字以发送 CDP 数据包，这些数据包将 IP 电话配置为以带有语音 VLAN ID 0 和第 2 层 CoS 值（对于语音流量默认为 5，对语音控制流量默认为 3）标记的 802.1p 帧的形式传输语音流量。 交换机将 802.1p 语音流量置于接入 VLAN 中。

- 输入 untagged 关键字以发送 CDP 数据包，这些数据包将 IP 电话配置为传输未标记的语音流量。交换机将未标记的语音流量置于接入 VLAN 中。

- 输入 none 关键字以允许 IP 电话使用其自己的配置和传输未标记的语音流量。交换机将未标记的语音流量置于接入 VLAN 中。

此示例对 VLAN 10 传输数据流量而 VLAN 20 传输语音流量进行了详细说明：

配置 Catalyst 交换机以传输语音和数据流量

Switch#configure terminal

Switch(config)#interface fastethernet 2/5

Switch(config-if)#switchport mode access

Switch(config-if)#Switchport access vlan 10

Switch(config-if)#switchport voice vlan 20

!--- Configures the IP phone to transmit voice traffic in !--- 802.1Q frames tagged with voice VLAN ID 20.

end

注意：  您无法禁用 7960/40 电话中的 PC 端口 SPAN 功能。

配置嵌入式电源支持

Cisco 提供了多种 Catalyst 交换机，这些交换机支持与 802.3af 兼容的 PoE，同时还支持 Cisco 试行标准 PoE 实现方案。IEEE 802.3af-2003 描述了设备可以属于的五个电源分类。IEEE 802.3af 中的默认电源分类为每个设备提供 15.4W 的电源。提供使用 IEEE 802.3af 默认分类的 PoE 会显著提高电源设备 (PSE) 交换机和电源基础设施的功率要求。为了以经济、高效的方式提供 PoE，除了 IEEE 802.3af 分类之外，Catalyst 交换机还支持智能电源管理。这使得用电设备和 PSE 能够就其各自容量进行协商以确切管理设备的功率需求量，并明确具备 PSE 功能的交换机如何管理各个用电设备的功率分配。

发出以下 show power inline 命令以查看交换机可以提供的默认功耗：

Switch#show power inline consumption default

Default PD consumption : 15400 mW

默认情况下，所有交换机端口都配置为自动检测 PoE 设备并为其供电。发出以下 show power inline 命令以查看任何端口的内联电源配置状态：

Switch#show power inline FastEthernet 2/5

Interface Admin  Oper       Power   Device              Class Max

(Watts)

--------- ------ ---------- ------- ------------------- ----- ----

Fa2/5     auto   on         7.0     IP Phone 7960       n/a   15.4

!--- You can see the Admin status as auto. This is the default configuration.

可以发出 power inline 命令来配置单个端口的内联电源。下面显示了嵌入式电源的配置选项：

Switch(config-if)#power inline ?

auto         Automatically detect and power inline devices

consumption  Configure the inline device consumption

never        Never apply inline power

static       High priority inline power interface

- Auto — 默认情况下，具备 PoE 功能的端口将配置为“auto”。用电设备是基于先到先服务的原则供电的。如果电源没有足够的内联电源可提供给自动模式下的所有用电设备，则无法保证哪些用电设备将获得供电。

- Static — 静态端口在配电和关闭电源方面比自动端口的优先级高。配置静态端口时，交换机会为其分配电力。然后会为该端口保留电力，即使该端口未与任何设备连接。分配的电量既可以使用默认的最大值 (15.4W)，也可以在使用此选项时指定。此分配量从未根据 IEEE 分类或 CDP 消息进行调整。

- Never — Supervisor 引擎不会指示交换模块给端口加电，即使该端口连接了一个无源电话也是如此。

在静态模式下，用电设备可保证在插入时联机。这通常用于优先级较高的用户，例如公司主管或无线接入点。但是，如果用电设备的 IEEE 分类功率高于静态端口的最大功率，则不会为用电设备供电。同样，对于 Cisco 试行标准 PoE，如果来自用电设备的 CDP 消息表明所需功率高于分配给静态端口的最大功率，该端口将断电。如果所需静态端口数超出电源容量，则会将一个新指定的静态端口置于错误禁用状态，并为其分配为 0W。如果由于电源出现故障并且发生电力不足的情况，交换机需要关闭用电设备，则自动模式的用电设备将早于静态模式的用电设备而关闭。

以下示例显示了一个交换机端口的嵌入式电源配置。如本部分中前面所述，端口的默认内联电源配置为“自动”。如果在更改了默认配置后希望将端口重新配置为“自动”，请如下所示配置端口：

为运行 Cisco IOS 的 Catalyst 交换机配置内联电源支持

Switch#configure terminal

Switchj(config)#interface fastethernet 2/5

Switch(config-if)#power inline auto

!--- Configures inline power support on fast Ethernet port 2/5.

配置 QoS

您可以使用 Auto-QoS 功能简化所存在的 QoS 功能的部署。Auto-QoS 会对网络设计做出假定。因此，交换机可以对不同流量排定优先顺序，并相应地使用出口队列而不是使用默认 QoS 行为。QoS 默认为禁用。然后，不管数据包的内容或大小如何，交换机都会尽力为每个数据包提供最佳服务，并通过单个队列发送它。

Auto-QoS 会配置 QoS 分类和出口队列。在配置 auto-QoS 之前，请确保交换机上未配置任何 QoS。首次在交换机上配置 auto-QoS 时，将在交换机上启用 QoS（如果它已禁用），并在全局配置中配置队列和阈值。最后，它会将交换机端口配置为信任传入的 CoS 参数，并为该端口配置流量整形参数。此后，每次您为任何端口配置 auto-QoS 时，都只是使用 QoS 参数配置交换机端口。

在启用模式下启用 debug auto qos 命令，然后针对交换机端口配置 auto-qos，以确定在 auto-QoS 配置过程中应用了哪些 QoS 配置。debug auto qos 显示已在交换机上应用的命令。

发出 auto qos 命令后，可以根据您的需求更改 QoS 配置。但是，不建议这样做。您可以在此处查看 auto qos voice 命令的可用选项：

Switch(config-if)#auto qos voip ?

cisco-phone      Trust the QoS marking of Cisco IP Phone

cisco-softphone  Trust the QoS marking of Cisco IP SoftPhone

trust            Trust the DSCP/CoS marking

为运行 IOS 的 Catalyst 交换机配置 Auto-QoS

Switch#configure terminal

Switch(config)#interface fastethernet 2/5

Switch(config-if)#auto qos voip cisco-phone

!--- Configures the port to trust the CoS labels !--- in the incoming packets and configures the !--- traffic-shaping parameters.

虽然 auto qos 命令语法在所有 Catalyst 交换机上都是相同的，但是，通过 auto-QoS 在 Catalyst 交换机上应用的 QoS 配置，却因 Catalyst 交换机而异。

针对第 2 层上行链路配置 QoS

如果语音流量要通过中继链路跨越交换机，则需要针对中继端口配置 QoS 参数。在这种情况下，需要发出 auto qos voip trust 命令，而不是 auto qos voip cisco-phone 命令。

针对运行 IOS 的 Catalyst 交换机的中继链路配置 Auto-QoS

Switch#configure terminal

Switch(config)#interface gigabitethernet 1/1

Switch(config-if)#auto qos voip trust

!--- Configures the port to trust the CoS labels !--- in the incoming packets and configures the !--- traffic-shaping parameters.

针对第 3 层上行链路配置 QoS

如果语音流量通过第 3 层链路，则需要使用 auto qos voip trust 命令配置端口，并需要将端口配置为 trust dscp。此示例显示用于传输语音流量的第 3 层端口的配置：

在运行 IOS 的 Catalyst 交换机中针对第 3 层端口配置 Auto-QoS

Switch#configure terminal

Switch(config)#interface gigabitethernet 1/1

Switch(config-if)#auto qos voip trust

!--- Configures the port to trust the CoS labels !--- in the incoming packets and configures the !--- traffic-shaping parameters.

Switch(config-if)#mls qos trust dscp

!--- Configures the port to trust the DSCP labels !--- in the incoming packets. This command is for !--- Catalyst 3560/3750/6500 Switches.

or

Switch(config-if)#qos trust dscp

!--- Configures the port to trust the DSCP labels !--- in the incoming packets. This command is for !--- Catalyst 4500 Switches.

使用预定义的宏配置交换机

在运行 Cisco IOS 软件版本 12.2 及更高版本的 Catalyst 3560、3750 和 4500 交换机中，有一些预定义的宏可用于配置交换机端口。以下是用来支持 IP 电话的交换机端口的配置中的宏及其角色的示例：

- cisco-phone — 此宏适用于这样的交换机端口：IP 电话直接连接到此端口，并且一台 PC 可以连接到该电话。此宏为端口配置接入 VLAN、语音 VLAN、端口安全性、spanning-tree portfast/bpduguard 和 auto qos voip cisco-phone。

- cisco-switch — 此宏适用于从接入交换机到分布层交换机的上行链路端口。如果您的语音流量通过中继链路穿过交换机，则可以使用 cisco-switch 宏来配置上行链路端口。此宏为端口配置 dot1q 中继、spanning-tree link-type point-to-point 和 auto qos voip trust。不应将此宏用于 EtherChannel/端口组。

注意：这些交换机支持两种类型的宏：

- Smartport 宏 — 此宏在本部分中讨论。有关详细信息，请参阅配置 Smartports 宏。

- 接口宏 — 此宏是用户定义的宏，用于自动选择一组接口以进行配置。有关详细信息，请参阅配置和使用接口范围宏。

发出以下 show 命令以查看可用的宏：

Switch#show parser macro brief

default global   : cisco-global

default interface: cisco-desktop

default interface: cisco-phone

default interface: cisco-switch

default interface: cisco-router

default interface: cisco-wireless

发出以下 show 命令以查看宏的脚本：

Switch#show parser macro name cisco-phone

# Cisco IP phone + desktop template

# macro keywords $access_vlan $voice_vlan

# VoIP enabled interface - Enable data VLAN

# and voice VLAN

# Recommended value for access vlan should not be 1

switchport access vlan $access_vlan

switchport mode access

# Update the Voice VLAN value which should be

# different from data VLAN

# Recommended value for voice vlan should not be 1

switchport voice vlan $voice_vlan

# Enable port security limiting port to a 2 MAC

# addressess -- One for desktop on data vlan and

# one for phone on voice vlan

switchport port-security

switchport port-security maximum 2

# Ensure port-security age is greater than one minute

# and use inactivity timer

switchport port-security violation restrict

switchport port-security aging time 2

switchport port-security aging type inactivity

# Enable auto-qos to extend trust to attached Cisco phone

auto qos voip cisco-phone

# Configure port as an edge network port

spanning-tree portfast

spanning-tree bpduguard enable

此示例显示在 IP 电话环境中交换机端口的配置：

使用预定义的宏配置交换机

Switch#configure terminal

Switch(config)#interface gigabitethernet 2/5

Switch(config-if)#macro apply $access_vlan 10 $voice_vlan 20

!--- Configures the access port to connect the IP phone. !--- The PC connects to the IP phone. It configures the port that !--- belongs to access VLAN 10 and voice VLAN 20. It also configures !--- auto qos voip cisco-phone.

Switch(config-if)#exit

Switch(config)#interface gigabitethernet 1/1

Switch(config-if)#macro apply cisco-switch $native_vlan 10

!--- Configures the uplink port as dot1q trunk port !--- with native VLAN 10. It also configures auto qos voip trust.

验证

发出以下 show interface 命令以确认配置是否在运行 Cisco IOS 的交换机上正常工作：

Switch#show interface fastethernet 2/5 switchport

Name:Fa2/5

Switchport: Enabled

Administrative Mode: static access

Operational Mode: static access

Administrative Trunking Encapsulation: negotiate

Operational Trunking Encapsulation: native

Negotiation of Trunking: Off

Access Mode VLAN: 10 (VLAN0010)

Trunking Native Mode VLAN: 1 (default)

Administrative Native VLAN tagging: enabled

Voice VLAN: 20 (VLAN0020)

Administrative private-vlan host-association: none

Administrative private-vlan mapping: none

Administrative private-vlan trunk native VLAN: none

Administrative private-vlan trunk Native VLAN tagging: enabled

Administrative private-vlan trunk encapsulation: dot1q

Administrative private-vlan trunk normal VLANs: none

Administrative private-vlan trunk private VLANs: none

Operational private-vlan: none

Trunking VLANs Enabled: ALL

Pruning VLANs Enabled: 2-1001

Capture Mode Disabled

Capture VLANs Allowed: ALL

Protected: false

Unknown unicast blocked: disabled

Unknown multicast blocked: disabled

Appliance trust: none

命令输出解释程序（仅限注册用户）(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。

故障排除

Catalyst 3560G：拔掉非 PoE 设备后 IP 电话失去供电

Catalyst 3560G 不会向连接到这样的端口的 IP 电话提供内联电源：以前无源设备曾经连接到该端口，又从该端口拔出。端口的自动和静态 PoE 设置会导致此问题。3750 系列交换机也会发生此问题。此错误已在 Cisco Bug ID CSCsc10999（仅限注册用户）中标识。

解决方法是对端口发出 shutdown/no shutdown。然后，交换机会向 IP 电话提供电源。此问题已在 Cisco IOS 软件版本 12.2(25)SED1 中解决。

7935 IP 会议电话接收数据 IP 地址而不是语音 IP 地址

如果将 7935 IP 会议电话连接到交换机，则会议电话会接收来自数据 VLAN 的 IP 地址。如果将 7960 IP 电话连接到与 7935 IP 会议电话相同的交换机端口，则 7960 会接收语音 VLAN 上的 IP 地址。

此问题是由于 7935 IP 会议电话的设计导致的。此会议电话没有用来连接 PC 的 10/100 端口，而其他 7900 系列 IP 电话有。语音 VLAN 或辅助 VLAN 的概念不直接应用于 7935 IP 会议电话。

有关详细说明和解决方案，请参阅 7935 IP 会议电话的最佳性能配置。

IP 电话未提供 MAC 身份验证旁路 (MAB)

在将 MAB 用于对网络设备授予访问权限的交换机中，辅助（语音）VLAN 上允许使用所有通过 CDP 获知的 IP 电话 MAC 地址。但是，如果 IP 电话是单独的（没有任何 PC 连接到它）并且连接到配置了数据和语音 VLAN 的端口，则 IP 电话将被置于数据 VLAN 中。因此，当 IP 电话注册到 Cisco CallManager 时，会遇到问题。

要解决此问题，请使用语音 VLAN 的 ID 配置该端口的接入 VLAN，或将一台 PC 连接到 IP 电话。

IP 电话未从 DHCP 服务器获得 IP 地址

如果已在交换机中启用了动态地址解析协议 (ARP) 检测 (DAI)，则它会根据 DHCP 监听绑定数据库中的条目，来验证传入 ARP 请求和 ARP 响应中的 IP 到 MAC 地址绑定。请确保启用 DHCP 监听以允许具有动态分配的 IP 地址的 ARP 数据包。

另外，ARP 访问控制列表 (ACL) 优先于 DHCP 监听绑定数据库中的条目。只有当您使用 ip arp inspection filter vlan 全局配置命令配置了 ACL 时，交换机才会使用 ACL。交换机会先将 ARP 数据包与用户配置的 ARP ACL 进行比较。如果 ARP ACL 拒绝 ARP 数据包，则交换机也会拒绝该数据包，即使 DHCP 监听功能填充的数据库中存在有效的绑定，也是如此。

相关信息

- 配置 Cisco IP 电话支持

- 配置以太网供电

- 在 Catalyst 6500 中配置 PFC QoS

- 在 Catalyst 4500 中配置 QoS

- 在 Catalyst 3750 中配置 QoS

- 交换机产品支持

- LAN 交换技术支持

- 技术支持和文档 - Cisco Systems