L5: IP-telefoni


I moderna nätverk används ofta IP-telefoni (VoIP) istället för traditionell analog telefoni. För att kunna hantera både datatrafik och rösttrafik i samma fysiska nätverk används ofta ett Voice VLAN, vilket är ett separat VLAN som reserveras för rösttrafik.

Genom att separera röst- och datatrafik kan nätverket organiseras mer effektivt och rösttrafiken kan hanteras på ett mer kontrollerat sätt.

Syftet med denna laboration är att:

  • förstå hur Voice VLAN fungerar
  • konfigurera IP-telefoni i ett VLAN-baserat nätverk
  • använda en router som DHCP-server och Call Manager Express (CME)
  • analysera hur en IP-telefon och en dator kan dela samma switchport

I demonstrationen simuleras ett nätverk där IP-telefoner registrerar sig mot en router och kan ringa mellan varandra.

Tekniska grunder

När en IP-telefon ansluts till en switchport informeras telefonen via CDP (Cisco Discovery Protocol) om vilket VLAN som ska användas för rösttrafik. Telefonen skickar då sin trafik taggad med VLAN 150, medan datorn som är ansluten bakom telefonen använder untaggad trafik i VLAN 10.

Detta gör det möjligt för en IP-telefon och en dator att använda samma fysiska switchport, samtidigt som deras trafik hålls logiskt separerad i olika VLAN.

För att IP-telefoner ska fungera i nätverket krävs flera komponenter.

1. DHCP

En IP-telefon behöver en IP-adress för att kunna kommunicera i nätverket. I denna laboration fungerar routern som DHCP-server och delar ut IP-adresser till både:

  • datanätet
  • röstnätet

Voice VLAN använder dessutom en särskild DHCP-parameter som kallas Option 150.

Denna parameter talar om för telefonen var TFTP-servern finns, vilket gör att telefonen kan hämta sin konfiguration automatiskt.

2. TFTP och Call Manager Express

Cisco IP-telefoner laddar sin konfiguration från en TFTP-server. I denna laboration fungerar routern både som TFTP-server och Call Manager Express (CME). Det innebär att routern hanterar både telefonernas konfiguration och själva samtalsfunktionen i nätverket.

3. Directory Numbers

Varje telefon behöver ett telefonnummer, även kallat Directory Number (DN). Till exempel 1001 eller 1002, dessa nummer konfigureras i routern med kommandot: ephone-dn

4. ephone

Varje fysisk IP-telefon representeras i Call Manager Express som en ephone. En ephone kopplas till ett telefonnummer genom kommandot: button 1:1

Detta betyder att knapp 1 på telefonen använder Directory Number 1.

Call Manager Express (CME)

Cisco Call Manager Express (CME) är ett IP-telefoni­system som är inbyggt i Cisco-routrar som en IOS-funktion. Systemet gör det möjligt för routern att hantera IP-telefoner, telefonnummer och samtal i nätverket utan att behöva en separat telefoniserver. Med CME kan routern fungera som en telefonväxel (IP-PBX) för mindre nätverk eller laboratoriemiljöer.

Vad gör CME i nätverket?

När CME är aktiverat kan routern:

  • registrera IP-telefoner
  • tilldela telefonnummer (extensions)
  • hantera samtal mellan telefoner
  • fungera som TFTP-server för telefonkonfiguration
  • distribuera konfigurationsfiler till telefonerna

Detta innebär att routern fungerar som ett centralt kontrollsystem för IP-telefoni i nätverket.

Hur en IP-telefon registreras i nätverket

När en IP-telefon ansluts till nätverket sker följande process.

  1. Telefonen startar – Telefonen ansluts till switchen och startar upp.
  2. Telefonen får en IP-adress
    • Telefonen använder DHCP för att få en IP-adress. DHCP skickar samtidigt information om TFTP-servern via parametern Option 150. Detta informerar telefonen om att routern fungerar som Call Manager Express.
  3. Telefonen kontaktar TFTP-servern
    • Telefonen kontaktar därefter routern via TFTP för att hämta sin konfiguration. Routern skickar bland annat:
      • telefonens konfigurationsfil
      • vilket telefonnummer telefonen ska använda
  4. Telefonen registreras i CME
    • När telefonen har fått sin konfiguration registrerar den sig i Call Manager Express. Routern vet då:
      • vilken telefon som är ansluten
      • vilket telefonnummer telefonen använder
  5. Samtal kan genomföras
    • När en användare ringer ett nummer skickar telefonen en signal till CME. Systemet kontrollerar vilken telefon som är kopplad till numret och kopplar sedan upp samtalet mellan telefonerna.

Topologi

Konfiguration

  • S1(config)#vlan 10
  • S1(config-vlan)# name DATA
  • S1(config-vlan)#exit
  • S1(config)#vlan 99
  • S1(config-vlan)# name NATIVE
  • S1(config-vlan)#exit
  • S1(config)#vlan 100
  • S1(config-vlan)# name PARKING
  • S1(config-vlan)#exit
  • S1(config)#vlan 150
  • S1(config-vlan)# name VOICE
  • S1(config-vlan)#exit
  • S1(config)#
  • Access ports DATA VLAN 10
  • S1(config)# interface fa0/2
  • S1(config-if)# switchport mode access
  • S1(config-if)# switchport access vlan 10
  • S1(config-if)# spanning-tree portfast
  • S1(config-if)# exit
  • S1(config)# interface fa0/5
  • S1(config-if)# switchport mode access
  • S1(config-if)# switchport access vlan 10
  • S1(config-if)# spanning-tree portfast
  • S1(config-if)# exit
  • IP-phone DATA 10 + VOICE 150
  • S1(config)# interface range fa0/3-4
  • S1(config-if-range)# switchport mode access
  • S1(config-if-range)# switchport access vlan 10
  • S1(config-if-range)# switchport voice vlan 150
  • S1(config-if-range)# spanning-tree portfast
  • S1(config-if-range)# exit
  • S1(config)#
  •  
  •  Trunk to R1
  • S1(config)#interface fa0/1
  • S1(config-if)# switchport mode trunk
  • S1(config-if)# switchport trunk allowed vlan 10,99,100,150
  • S1(config-if)# switchport trunk native vlan 99
  • S1(config-if)# no shutdown
  • S1(config-if)#exit
  • Parking VLAN unused ports
  • S1(config)#interface range fa0/6-24,g0/1-2
  • S1(config-if-range)# switchport mode access
  • S1(config-if-range)# switchport access vlan 100
  • S1(config-if-range)# shutdown
  • S1(config-if-range)#exit
  • S1(config)#end
  • S1# copy running-config startup-config
    • R1(config)#interface fa0/0
    • R1(config-if)# no shutdown
    • R1(config-if)#exit
    • R1(config)#interface fa0/0.10
    • R1(config-subif)# encapsulation dot1q 10
    • R1(config-subif)# ip address 192.168.10.1 255.255.255.0
    • R1(config-subif)#exit
    • R1(config)#interface fa0/0.150
    • R1(config-subif)# encapsulation dot1q 150
    • R1(config-subif)# ip address 192.168.150.1 255.255.255.0
    • R1(config-subif)#exit
    • R1(config)#interface fa0/0.99
    • R1(config-subif)# encapsulation dot1q 99 native
    • R1(config-subif)#exit
    • R1(config)#
  • R1(config)#ip dhcp excluded-address 192.168.10.1 192.168.10.20
  • R1(config)#ip dhcp excluded-address 192.168.150.1 192.168.150.20
  • R1(config)#ip dhcp pool DATApool
  • R1(dhcp-config)# network 192.168.10.0 255.255.255.0
  • R1(dhcp-config)# default-router 192.168.10.1
  • R1(dhcp-config)# dns-server 8.8.8.8
  • R1(dhcp-config)#domain-name diginto.se
  • R1(dhcp-config)#exit
  • R1(config)#ip dhcp pool VOICEpool
  • R1(dhcp-config)# network 192.168.150.0 255.255.255.0
  • R1(dhcp-config)# default-router 192.168.150.1
  • R1(dhcp-config)# DNS-server 8.8.8.8
  • R1(dhcp-config)# domain-name diginto.se
  • R1(dhcp-config)# option 150 ip 192.168.150.1
  • R1(dhcp-config)#exit
  • R1(config)#
  • R1(config)# telephony-service
  • R1(config-telephony)# max-dn 10
  • R1(config-telephony)# max-ephones 10
  • R1(config-telephony)# ip source-address 192.168.150.1 port 2000
  • R1(config-telephony)# auto assign 1 to 2
  • R1(config-telephony)# create cnf-files
  • R1(config-telephony)# exit
  • R1(config)#ephone-dn 1
  • R1(config-ephone-dn)# number 1001
  • R1(config-ephone-dn)#exit
  • R1(config)#ephone-dn 2
  • R1(config-ephone-dn)# number 1002
  • R1(config-ephone-dn)#exit
  • R1(config)#ephone 1
  • R1(config-ephone)# button 1:1
  • R1(config-ephone)#exit
  • R1(config)#ephone 2
  • R1(config-ephone)# button 1:2
  • R1(config-ephone)#exit
  • R1(config)# end
  • R1#