CICD – Ch3 – Cisco IP Phone
Foundations
- IP Phones require the following
- POE – Power Over Ethernet
- Voice VLAN
- DHCP
- Phone has 3 port switch built into it
- Port 1, connects to switch
- Port 2, phone ASIC
- Port 3, connects to PC
Power Over Ethernet, POE
- Phones must receive power from a source
- Switch POE
- Power patch panel
- POE injector
- Power brick
- POE is the ability to send electricity over ethernet
- Centralized power distribution
- Switches are generally on some type of backup power (UPS, generator)
- Don’t need a power outlet at the phone
- Outlets may not be where phones are being places
- Centralized power distribution
- Standard, IEEE
- 802.3af
- 15-25 watts
- POE+
- 802.3at, 51 watts
- 802.3af
Output from a switch
Home_Switch#sh power inline Available:124.0(w)Used:12.0(w)Remaining:112.0(w) Interface AdminOper Power DeviceClass Max (Watts) --------- ------ ---------- ------- ------------------- ----- ---- Fa0/1 auto off0.0 n/a n/a 15.4 Fa0/2 auto off0.0 n/a n/a 15.4 Fa0/3 auto off0.0 n/a n/a 15.4 Fa0/4 auto off0.0 n/a n/a 15.4 Fa0/5 auto off0.0 n/a n/a 15.4 Fa0/6 auto on 12.0IP Phone 7945 3 15.4 Fa0/7 auto off0.0 n/a n/a 15.4 Fa0/8 auto off0.0 n/a n/a 15.4 Home_Switch#
Voice VLAN
- Cisco recommends having a dedicated vlan for voice
- VLAN = Broadcast domain = IP Subnet
- Trunk
- Allow multiple vlans across a single physical interface
- Also known as, tagging
- 802.1q = standard
- ISL = Cisco Proprietary
- Voice vlan allows interface to become a multi-vlan access port
- PC connects to phone, phone connects to switch
- PC sends traffic untagged = access vlan
- Phone sends traffic tagged = voice vlan
- Phones receive voice vlan information through CDP neighbor
- Configuration, switch
*Create layer 2 vlan on the switch
vlan <#> name DATA vlan <##> name VOICE
!
spanning-tree bpduguard enable —> This command is not referenced in the book, but I mention it here as a best practice. This is a global command that will affect portfast enabled ports. BPDU Guard disables any interface that receives a BPDU into the interface. This is helpful is someone decides to create a loop by plugging in both ethernet ports on the phone into the switch
!
*Configure interface connected to a phone
interface <int> —> Go into the interface configuration
switchport access vlan <#> —> assign the access (data) vlan to the interface
switchport voice vlan <##> —> assign the voice vlan to the interface
spanning-tree portfast —> immediately bring interface into forwarding state, bypass spanning-tree listening and learning states
switchport mode access —> statically configure the interface as an access port. Default is to dynamically determine based on what plugged into the interface. Could either be trunk or access
Home_Switch(config)#vlan 20 Home_Switch(config-vlan)#name VOICE Home_Switch(config-vlan)#exit
Phone Boot Process
- Phone connects to ethernet, if switch supports POE, the phone powers on
- Switch delivers voice vlan to phone through CDP. Phone starts tagging traffic with correct vlan information
- Phone broadcasts a DHCP Request
- Broadcasts are contained within a layer 3 vlan. Configuration can be added to the layer 3 SVI (Switches Virtual Interface) to relay DHCP request to a DHCP server if the server lives on a different subnet. ip helper-address <ip>
- Asks for an IP on it’s voice vlan
- DHCP server respinds with DHCP Offerr
- Phone access the offer if there is no duplicate address
- Offer contains: Default gateway, DNS Information, domain name
- Required from DHCP: Option 150. Option 150 contains information on the TFTP server, more on this later.
- Phone contacts TFTP server and downloads configuration file. The file contains valid CME or CUCM servers
- Phone registers with CME or CUCM
Router DHCP Configuration
- DHCP is required for phones (and endpoints for that matter) to get an IP address and be able to communicate on the network
- Below is an example configuration that can be done on a Cisco router
Global config:
ip dhcp excluded-address <start> <end> ip dhcp pool <name> network <ip> <subnet> default router <ip> dns-server <ip> option 150 ip <ip> Interface config: interface vlan <int> ip helper-address <ip>
Actual configuration
Home_Switch(config)#int vlan 20 Home_Switch(config-if)#ip add 192.168.20.1 255.255.255.0 Home_Switch(config-if)#ip helper-address 192.168.10.1 Home_Switch(config-if)#no shut Home_Switch(config)#ip dhcp excluded-address 192.168.20.1 192.168.20.19 Home_Switch(config)#ip dhcp pool VOICE Home_Switch(dhcp-config)#network 192.168.20.0 Home_Switch(dhcp-config)#default-router 192.168.20.1 Home_Switch(dhcp-config)#dns-server 192.168.10.1 Home_Switch(dhcp-config)#option 150 ip 192.168.10.200
Network Time Protocol – NTP
- Provides a clocking source
- Display the correct time and date on phones
- Get the correct date and time for voicemails
- Accurate Call Detail Records (CDR), explained in later chapters
- Track calls on the network
- Security features
- Tag log messages
- Stratum levels, how accurate is the time source
- Level 1 is the best
Configuration
ntp server <ip> —> where to get source of time from
clock timezone <timezone> —> What timezone is the device in
ntp master <stratum> —> Tells router to provide time
ntp server 192.168.10.1 prefer clock timezone EST -5 clock summer-time EDT recurring
Phone Registration
- Phones use SCCP or SIP for signaling
- SCCP, Skinny
- Cisco proprietary voice signaling protocol to control phones
- SIP, Session Initiation Protocol
- IETF standard voice signaling protocol
- Lightweight alternative to H.323
- Phones identify themselves with MAC address
- Talks to CME or CUCM (call processors)
- Call processor will send XML file to phone with its configuration
- Configuration includes: device language, firmware version, call processing IPs, ports #s, etc.
- Softkey layout
- Signaling protocol is used for majority of phone functionality
- Dial tone, digit collecting, on/off hook conditions
Quality of Service – QOS
- For VOIP to operate successfully, voice must have priority over data traffic
- QOS definition: Ability for the network to provide better or special service to a set of users and application at the expense of other users and applications
- Voice traffic is time sensitive
- Voice should get first access to bandwidth
- Router queues other traffic in time of congestion
- Problems QOS is trying to solve
- Lack of bandwidth
- Delay
- Fixed delay
- Variable delay
- Jitter (delay variation)
- Packet loss
- Voice Traffic Requirements
- Voice is predictable, if you know which codec is being used you’ll be able to calculate how much bandwidth is required
- These are the maximum thresholds, lower is better
- End to end delay – 150ms
- Jitter – 30ms
- Packet loss – 1%
- Video has same requirements, just requires more bandwidth
QOS Mechanisms
- Best Effort – Default, no QOS
- First come, first serve
- IntServ – Reservation Model
- Resource Reservation Protocol (RSVP)
- Provides guaranteed bandwidth
- Has scalability problems, each router must track the traffic flow
- DiffServ – Most popular and flexible model
- Configure every device to respond with a variety of QOS methods based on traffic classes
- DSCP
- Note: This CCNA does not go into the level of detail that I was expecting. I’ll write up another post that’ll be a more in-depth on QOS
QOS Tools
- Classification and Marking – Identify and mark packets
- Congestion Management – QOS Queuing strategies
- Congestion Avoidance – Drop packets before congestion occurs
- Policing and Shaping – Give hard or soft limits on how much of a specified traffic is allowed
- Link Efficiency – compression mechanisms
CCNA Collab book goes into Link Efficency and Queuing Algorithms. If you want to know about the others, drop a comment and I’ll write some more details around the others
Link Efficiency
- Payload compression
- Compress app data from being sent across the WAN
- Header compression
- Eliminate redundant fields of the header
- RTP Header Compression, compressed RTP (cRTP). Go from 40 bytes down to 2 bytes, 4 bytes with error correction
- Link Fragmentation and Interleaving – LFI
- Addresses serialization delay by chopping larger packets into smaller ones
- Used on PPP or frame relay connections
Queuing Algorithms
- WFQ – Weighted Fair Queuing
- Tries to balance available bandwidth for all senders
- Default on serial interfaces
- CBWFQ – Class Based WFQ
- Guarantees specific amounts of bandwidth for various traffic classes
- LLQ – Low Latency Queuing
- Add a priority queue
- Similar to CBWFQ
Applying QOS
- Input Actions
- Classification
- Marking
- Policing
- Output Actions
- Congestion management
- Marking
- Congestion avoidance
- Shaping
- Policing
- Compression
- Fragmentation and Interleaving
AutoQOS
- Simplified mechanism to deploy QOS
- Deploys template based on Ciso’s QOS best practice
- Uses CDP to detect IP phone to apply QOS settings
AutoQOS Benefits
- Reduced time to deploy
- Configuration consistency
- Reduced deployment cost
- Allows manual tuning
AutoQOS, steps before deployment
- Establish trust boundary – which endpoints do you trust markings from
- Devices can mark traffic with different QOS classification
- Ex: Phone marks all traffic as high priority (EF)
- Note, DSCP was not covered in this book. I’ll write a future blog post
- Phone has ability to strip marking PC’s set
AutoQOS Config
- Single command under interface
- Does not need to be applied on every device
- This is according to the book. Real life, deploy QOS everywhere in a controller maner
- Before commands are entered, check to make sure bandwidth statements are correct
- AutoQOS uses a LLQ model
Global Config
Home_Switch(config)#auto qos ?
srnd4QoS configurations based on solution reference network design 4.0
Interface
Home_Switch(config-if)#auto qos ?
classifyConfigure classification for untrusted devices
trust Trust the DSCP/CoS marking
video Configure AutoQoS for video devices
voip Configure AutoQoS for VoIP
Home_Switch(config-if)#auto qos voip ?
cisco-phone Trust the QoS marking of Cisco IP Phone
cisco-softphoneTrust the QoS marking of Cisco IP SoftPhone
trust Trust the DSCP/CoS marking
Home_Switch(config-if)#auto qos voip cisco-phone
Home_Switch(config-if)#do sh run int fa0/7
Building configuration…
Current configuration : 226 bytes
!
interface FastEthernet0/7
srr-queue bandwidth share 1 30 35 5
priority-queue out
mls qos trust device cisco-phone
mls qos trust cos
auto qos voip cisco-phone
service-policy input AUTOQOS-SRND4-CISCOPHONE-POLICY
end
Home_Switch(config-if)#
Additional Output generated