Jump to content


CCNA Voice (The Challenge Begins)


  • Please log in to reply
43 replies to this topic

#1 TheDarkLord

TheDarkLord

    Cisco and Unix Expert

  • Veterans
  • PipPipPipPip
  • 851 posts
  • Gender:Male

Posted 15 October 2009 - 08:13 AM

So the challenge begins. 45 Days, two exams to cover. A lot of studies to do.

This thread is going to be ONLY for study notes, all other discussions will be moved to the other thread.

At least for me I am gonna sit for the CVOICE exam in the first week of Dec.

So lets begin:

Topics Covered by the 640-460 IIUS exam:

* Connecting IP phones to the LAN infrastructure
* Cisco Unified CME installation
* Cisco Unified CME IP phone configuration
* Cisco Unified CME voice productivity features
* Gateway and trunk concepts and configuration
* Cisco Unity Express concepts and configuration
* Smart Business Communications System
* Configuring and maintaining the UC500 for voice

Topics Covered by the 642-436 CVOICE exam:

* Integrate VoIP into an existing data network
* Design a VoIP network for optimal voice quality
* Examine the various call types in a VoIP network
* Configure analog voice interfaces and dial peers
* Perform call signaling over digital voice ports
* Implement H.323, MGCP, and SIP protocols on Cisco IOS® gateways
* Identify dial plan characteristics
* Configure advanced dial plans
* Deploy H.323 gatekeepers
* Implement a Cisco UBE router to provide protocol interworking

A quick glance will tell you that there are a lot of overlapping between these two exams. So I have decided to merge them and make my own list. This is how i am gonna do it:

1) Voice Technologies (here is where the theory part will be)
2) Configure a pure LOCAL voip network using a CME Router.
a) Configure DHCP
b.) Configure TFTP
c) Configure the phones
3) Advance CME configuration, including forwarding, call on hold, transfer, conferencing etc etc.
4) CME GUI.
5) Deploy voip across multiple networks.
6) Configuring Dial peers.
7) Configuring analog ports and analog dial peers.
8) Digit manipulation and other advance configuration.
9) Gatekeeper configuration (this is gonna be the most time consuming)
10) Cisco Unity Express
11) UC500

Poof thats a long list.

I have been reading on the theory part for a couple of days now, so i am gonna dive right into the configuration.
  • 1

#2 TheDarkLord

TheDarkLord

    Cisco and Unix Expert

  • Veterans
  • PipPipPipPip
  • 851 posts
  • Gender:Male

Posted 15 October 2009 - 08:13 AM

Labs:

CME Lab 1 (using Gns3):


http://www.sadikhov....howtopic=174031

Edited by TheDarkLord, 21 October 2009 - 02:41 PM.

  • 0

#3 TheDarkLord

TheDarkLord

    Cisco and Unix Expert

  • Veterans
  • PipPipPipPip
  • 851 posts
  • Gender:Male

Posted 15 October 2009 - 08:18 AM

First topic to cover: DHCP

For those of you who don't know (but should):

In computer networking, the Dynamic Host Configuration Protocol (DHCP) is a network application protocol used by devices (DHCP clients) to obtain configuration information for operation in an Internet Protocol network. This protocol reduces system administration workload, allowing networks to add devices with little or no manual intervention.


In layman's words it assigns IP addresses automatically to the connected devices.

But for this to happen you have to specify a couple of things. Two things need to happen:

1) DHCP must be enabled on the connected devices.
2) You must configure a DHCP Server (so it could assign IPs).
  • 0

#4 TheDarkLord

TheDarkLord

    Cisco and Unix Expert

  • Veterans
  • PipPipPipPip
  • 851 posts
  • Gender:Male

Posted 15 October 2009 - 08:21 AM

For example if a device (lets say a PC) is connected to a Cisco router. A very simple configuration would look like this:


Router:

ip dhcp pool <WHAT EVER NAME>
network 192.168.1.0 255.255.255.0 <or a /24 would also do>
dns-server 1.1.1.1
default-router 1.1.1.1

On the client's side you just have to make sure that the "Obtain configuration automatically" is selected in the network configuration.


For the complete list of DHCP commands look here: http://www.cisco.com...ce/1rddhcp.html

Edited by TheDarkLord, 15 October 2009 - 08:35 AM.

  • 0

#5 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 15 October 2009 - 05:36 PM

Its a good point to start with. However, want to add VLAN configuration in this section since it is related to also DHCP setup. For several reasons, like security, QoS and availability (SpanningTree) the Voice and Data traffic should be seperated. Since Spanning Tree failovers using VLAN numbers the Voice network should be in a lower VLAN than the DATA one.

Considering DHCP setup now you need to create at least two DHCP pools. Here is my setup:

ip dhcp pool VOICE
network 192.168.1.96 255.255.255.240
default-router 192.168.1.97
dns-server 4.2.2.2
option 150 ip 192.168.1.97

ip dhcp pool DATA
network 192.168.1.112 255.255.255.240
default-router 192.168.1.113
dns-server 4.2.2.2
option 150 ip 192.168.1.97

Since the DHCP server is 192.168.1.113 and on a different subnet than the VOICE vlan you need an helper address in order to provide your Phones an IP configuration. Here is the config section

interface FastEthernet0/0.5
encapsulation dot1Q 5
ip address 192.168.1.97 255.255.255.240
ip helper-address 192.168.1.113

I guess we can skip VLAN and trunk configuration (CCNA basics) but there is one thing to mention. Since the IP Phone have a built in switch to connect a PC to it you will have two devices connected to the switch port (Phone and PC). As above mentioned to seperate traffic you need to configure your switchport in order to allow traffice from both VLAN/devices. Here is an example: (I dont use it, have phone on seperate ports)

interface FastEthernet
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allow vlan 10,50
swtichport access vlan 50
switchport trunk native vlan 50

For labs its a try to keep both on the same vlan and use vomit sw to recorde voice traffic to wmv file. Didnt try it yet.

More to follow....
  • 0

#6 Sunfish

Sunfish

    Ciscoholic

  • Veterans
  • PipPipPipPipPip
  • 1841 posts
  • Gender:Male
  • Location:somewhere at Cisco universe

Posted 15 October 2009 - 10:02 PM

I do not agree with your switchport configuration. Technically there is no need to configure the port as a trunk. From the security standpoint you should not do this at all because it opens a potential attack surface for an intruder.

You should also NEVER (!!!) use the native vlan for such access vlans on a production network to prevent vlan hopping attacks.

Instead you should configure those ports as access ports. The Cisco IP phones can still tag the traffic of the voice and data vlans accordingly because they use a special kind of trunking on those access ports. Yes, I know it sounds fishy and it always causes confusion at first.

The basic configuration looks like this (QoS will be added later):

interface fastethernet 0/10
switchport mode access
switchport access vlan 50
switchport voice vlan 150
spanning-tree portfast
switchport port-security
switchport port-security maximum 3
switchport port-security violation restrict/protect

Please note that you have to modify the default settings if you enable port-security (which you should do on a production network, of course). The defaults are to allow just 1 mac address and to shutdown the port if a violation occurs.

If you connect a phone to the switch and daisy-chain it with a pc, then you must allow 3 mac-addresses. I don't tell you why we need 3 mac addresses for just 2 devices right here to let you quickly think about the reason (not difficult at all if you understand how a switch works). You also should understand easily why you need to change the reaction to any violations. ;)
  • 0

#7 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 16 October 2009 - 04:30 AM

Well your configuration might work, I'm sure it will and will think deeper (pros and cons) to it later.(Its already too late for me). However since we trying to go for the exam I would go for the CISCO recommendation.

This is a quotation of the CISCO Press:

" One initial difficulty you will encounter when separating voice and data traffic is the fact
that PCs are often connected to the network using the Ethernet port on the back of a
Cisco IP phone. Because you can assign a switchport to only a single VLAN, it initially
seems impossible to separate voice and data traffic. That is, until you see that Cisco IP
phones support 802.1Q tagging.
The switch built into Cisco IP phones has much of the same hardware that exists inside
of a full Cisco switch. The incoming switchport is able to receive and send 802.1Q tagged
packets. This gives you the capability to establish a trunk connection between the Cisco
switch and IP phone, as shown in Figure 3.9

You might call the connection between the switch and IP phone a “mini-trunk” because a
typical trunk passes a large number of VLANs (if not all VLANs). In this case, the IP
phone tags its own packets with the correct voice VLAN (VLAN 25, in the case of
Figure 3.9). Because the switch receives the tagged packets on a port configured as a
trunk (or a minitrunk in our case), the switch can read the tag and place the data in the
correct VLAN. The data packets pass through the IP phone and into the switch untagged.
The switch assigns these untagged packets to whatever VLAN you have configured on
the switchport for data traffic.

Note Technically, any time a switch receives an untagged packet on a trunk port, it is
placed into the native VLAN. The native VLAN is configured on a port-by-port basis. In
the example shown in Figure 3.9, VLAN 25 would be considered the voice VLAN and
VLAN 50 would be considered the native VLAN. The term “native VLAN” describes
more of a technical “how it works” rather than how people refer to this VLAN. It would be
more common to simply describe VLAN 50 as the data VLAN for the port."
  • 0

#8 Sunfish

Sunfish

    Ciscoholic

  • Veterans
  • PipPipPipPipPip
  • 1841 posts
  • Gender:Male
  • Location:somewhere at Cisco universe

Posted 16 October 2009 - 05:12 AM

Well, I don't know from which source you've taken this snippet. It refers to some figures which are missing so that I cannot comment on that one. So just some general ones:

  • Never trust any book or something that you read or hear anywhere until you lab things up and check them yourself!
    All books contain errors, typos and mistakes which you'll find easily if you set up your own lab. Practicing teaches you a hundred times more things than just reading or listening.
  • I never study any topic just for the sake of passing an exam!
    Being able to pass an exam is just a side-effect of fully understanding a topic and being able to configure, verify and troubleshoot real networks.
The CCNA level books and guides simplify quite a few things. Once you'll dig deeper into the topics you will notice that yourself. Your snippet is a typical example for this.

In the CCNA classes you are told that you have either a trunk or an access port. Telling people that the phone can send tagged frames over an access link would totally confuse the students so that they tell you that it is a kind of trunk link. However, the reality is - as usual - more complicated than this simplified model. ;)
  • 0

#9 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 16 October 2009 - 07:46 PM

Attached the figure that my previous post was related to.

Next on the list was TFTP.

Assuming that all software and firmware files were copied to the routers flash first step is to identify what files need to be availabe on the TFTP server for the phones to load their images. So lets have a look to our flash

1760V#dir flash:
.
.
.
22 -rw- 1155568 Sep 29 2009 15:31:35 +02:00 phone/7920/cmterm_7920.4.0-03-02.bin
30 -rw- 2494499 Sep 29 2009 15:42:32 +02:00 phone/7970-7971/apps70.8-3-2-27.sbn
31 -rw- 547706 Sep 29 2009 15:43:14 +02:00 phone/7970-7971/cnu70.8-3-2-27.sbn
32 -rw- 2456051 Sep 29 2009 15:46:04 +02:00 phone/7970-7971/cvm70sccp.8-3-2-27.sbn
33 -rw- 530601 Sep 29 2009 15:47:18 +02:00 phone/7970-7971/dsp70.8-3-2-27.sbn
34 -rw- 538527 Sep 29 2009 15:48:53 +02:00 phone/7970-7971/jar70sccp.8-3-2-27.sbn
35 -rw- 638 Sep 29 2009 15:49:15 +02:00 phone/7970-7971/SCCP70.8-3-3S.loads
36 -rw- 642 Sep 29 2009 15:49:38 +02:00 phone/7970-7971/term70.default.loads
37 -rw- 642 Sep 29 2009 15:50:05 +02:00 phone/7970-7971/term71.default.loads
38 -rw- 2486603 Oct 15 2009 11:37:30 +02:00 phone/7961/apps41.8-3-0-50.sbn
39 -rw- 517904 Oct 15 2009 11:38:25 +02:00 phone/7961/cnu41.8-3-0-50.sbn
40 -rw- 2347036 Oct 15 2009 11:40:27 +02:00 phone/7961/cvm41sccp.8-3-0-50.sbn
41 -rw- 530417 Oct 15 2009 11:41:03 +02:00 phone/7961/dsp41.8-3-0-50.sbn
42 -rw- 315774 Oct 15 2009 11:41:31 +02:00 phone/7961/jar41sccp.8-3-0-50.sbn
43 -rw- 638 Oct 15 2009 11:42:01 +02:00 phone/7961/SCCP41.8-3-1S.loads
44 -rw- 642 Oct 15 2009 11:42:27 +02:00 phone/7961/term41.default.loads
45 -rw- 642 Oct 15 2009 11:42:35 +02:00 phone/7961/term61.default.loads

I skipped other files not needed. Those are the firmware files sorted by phone types.
  • 0

#10 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 16 October 2009 - 08:01 PM

In order to make the files available on the TFTP Server you need to do following, lets assume we want to have files for the 7961 you can see there under flash:phone/7961/

1760V(config)#tftp-server flash:phone/7961/apps41.8-3-0-50.sbn is the command under global config.
you have to do this for each file, to wrap up with my running config:
1760V#sh run | s tftp

tftp-server flash:phone/7961/apps41.8-3-0-50.sbn alias apps41.8-3-0-50.sbn
tftp-server flash:phone/7961/cnu41.8-3-0-50.sbn alias cnu41.8-3-0-50.sbn
tftp-server flash:phone/7961/cvm41sccp.8-3-0-50.sbn alias cvm41sccp.8-3-0-50.sbn
tftp-server flash:phone/7961/dsp41.8-3-0-50.sbn alias dsp41.8-3-0-50.sbn
tftp-server flash:phone/7961/jar41sccp.8-3-0-50.sbn alias jar41sccp.8-3-0-50.sbn
tftp-server flash:phone/7961/SCCP41.8-3-1S.loads alias SCCP41.8-3-1S.loads
tftp-server flash:phone/7961/term41.default.loads alias term41.default.loads
tftp-server flash:phone/7961/term61.default.loads alias term61.default.loads

As you can see I used the alias addition to the tftp-server command. When then phone ask for the files it doesn't know under which directory in flash the files is located but just ask for it.
  • 0

#11 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 16 October 2009 - 08:17 PM

Last step is to tell the phone which firmware they have to use. Thats done with the load command.

1760V(config-telephony)#load ?
12SP Select the firmware load file for 12SP+ and 30VIP phones
7902 Select the firmware load file for 7902
7905 Select the firmware load file for 7905
7910 Select the firmware load file for Telecaster 7910 phones
7912 Select the firmware load file for 7912
7914 Select the firmware load file for sidecar 7914
7920 Select the firmware load file for 7920
7935 Select the firmware load file for 7935 Conference Station
7936 Select the firmware load file for 7936
7960-7940 Select the firmware load file for Telecaster 7960 & 7940 phones
7970 Select the firmware load file for 7970
7971 Select the firmware load file for 7971
ATA Select the firmware load file for ATA

As you can see some phone models are already included when hitting the ? but you can also add them manually. So lets stay with the 7961 from the previous post and type:
1760V(config-telephony)#load 7961 SCCP41.8-3-1S.loads

This means when there is a 7961 asking for firmware tell it to load SCCP41.8-3-1S.loads and the phone will start to download the needed files from the tftp-server.

One remark at this time, as we saw from the flash there were 8 files related to the 7961. The load command is just needed for the supported firmware file. Those differ pending on the model. What file is to load for what model can be viewed from CISCOs Webpage.
  • 0

#12 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 16 October 2009 - 08:25 PM

I guess we already moved a litte step from 2b to 2c on the list. The last step to get to configuration files for the phone is to creat them. After performing the load command for all the phones we need to support:

1760V(config-telephony)#create cnf-files

This will create the need configuration files for the CME and will bring us to step 2c


More to follow....
  • 0

#13 Sunfish

Sunfish

    Ciscoholic

  • Veterans
  • PipPipPipPipPip
  • 1841 posts
  • Gender:Male
  • Location:somewhere at Cisco universe

Posted 16 October 2009 - 10:24 PM

Attached the figure that my previous post was related to.

Well, attaching the figure appears not to have worked but I trust that this snippet is from some older book.

Back in the days when 2900XL and 3500XL switches were used, you had to configure those ports as a trunk. There was no other way to have 2 vlans on the same port. The configuration you mentioned is exactly the one that was used on those old switches from yesteryear.

However, all current models support the concept of voice vlans (on the CatOS switches you also find the name 'auxiliary vlan') and today's concepts of network design and security force you to only use the new style, i.e. configuring the ports with dedicated data and voice vlans running over an access link. Some people call this configuration a 'mini-trunk' because the phone uses 802.1Q tagging for the voice packets (the data vlan packets do not get tagged, only the voice vlan).

If you own the CBT Nuggets vides series "Cisco CCNA Voice - Exam-Pack 640-460: IIUC", then you'll find a superb explanation about those 2 different ways by Jeremy in the Video #9 - "Network Foundations: Preparing the Infrastructure for VoIP, Part 1". Jeremy also explains nicely why it is so important from a security standpoint to only use the modern style nowadays.

The same stuff is also covered in the CiscoPress book "CCNA Voice: Official Exam Certification Guide" on pages 85f.

Therefore, I'm sure that in the exam they want you to know the difference and how you should do it in today's networks, especially because security is a BIG issue in VoIP networks.
  • 0

#14 Sunfish

Sunfish

    Ciscoholic

  • Veterans
  • PipPipPipPipPip
  • 1841 posts
  • Gender:Male
  • Location:somewhere at Cisco universe

Posted 17 October 2009 - 12:51 AM

There is one more basic network thing that we should not forget before entering the CME realm - NTP.

We surely want our phones to show the correct time on the display to avoid confusing the users. So NTP will take care of this and the base configuration is pretty easy and straight forward (we skip authentication at this point of time):

- ntp server <ip-address>
- ntp master

The first command tells the router where to get the time from. You can use a name as well, but I always prefer to use the ip-address just in case DNS has a problem. In the real world you don't want to use any time server on the internet but a trusted source inside your own network. In the lab environment I simply use one of my PCs as a time server.

The second command turns the router into a ntp server for other devices so that the phones can get everything from the CME router which can also serve as DHCP, TFTP and NTP server.

Once the router synchronized with the ntp server you can confirm that everything is working with the following show commands which should give you a similar output:

R_4#show ntp associations

address ref clock st when poll reach delay offset disp
*~192.168.178.7 85.17.133.31 3 0 64 377 1.8 1.01 0.1
* master (synced), # master (unsynced), + selected, - candidate, ~ configured

R_4#show ntp status

Clock is synchronized, stratum 4, reference is 192.168.178.7
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**18
reference time is CE82F950.C47D2A93 (15:53:20.767 CEST Fri Oct 16 2009)
clock offset is 1.0696 msec, root delay is 14.95 msec
root dispersion is 59.42 msec, peer dispersion is 0.11 msec
  • 0

#15 Sunfish

Sunfish

    Ciscoholic

  • Veterans
  • PipPipPipPipPip
  • 1841 posts
  • Gender:Male
  • Location:somewhere at Cisco universe

Posted 17 October 2009 - 03:20 AM

Just a quick note on how to get the CME files onto your router. Back in the old days you had to copy each single file to the router using the copy command which I assume everyone knows how to use. However, the number of files keeps constantly growing and you can easily spend more than an hour just for copying those files.

Fortunately, we can do this much easier and quicker with the archive command. This allows us to copy a single tar file which will be extracted on-the-fly. The only thing that you need to make sure is that your flash has enough free space to take all those files. This command also preserves the directory structure of the tar file.

So if you want to install CME 4.3 onto a 2801 router via tftp the command looks like this:

R_4# archive tar /x tftp://192.168.178.7/cme-full-4.3.0.0.tar flash:
  • 0

#16 talent pk

talent pk

    Cisco Newbie

  • Technical Experts
  • PipPipPipPipPip
  • 4028 posts
  • Gender:Male
  • Location:Pakistan
  • Interests:Oracle

Posted 17 October 2009 - 05:36 AM

wow you guys really running fast here. Man i skipped lots of major discussions here.

This is for the readers as the final thought of what Sunfish and Drpain have already discussed on.

Initially the idea was to put different nature of data separately. here we hold at most 2 different types of data. the voice and the one
which is data itself.

At present where PC and IP Phones are daisy chained. a method must be adopted to keep PC traffic and phone traffic on different segments.

the first method was what Drpain have told earlier. But since its a huge security vulnerability to run a trunk on a port connected to switch and PC. A newer way was developed which is brilliantly defined by Sunfish.

we can do it via a trunk port but be careful that a trunk could be very easily compromised by removing IP Phone and running a Dot1Q software over a PC it self. by doing so a Hacker can successfully negotiate a trunk and capture all vlan data.

the newer way and more secure is, configure a port as an access port and then allowing voice vlan mini trunk between an IP phone and switch.

the good config to follow is if we are using vlan 10 as voice and vlan 50 as Data
interface fast0/5
switchport mode access
switchport access vlan 50
switchport voice vlan 10

packets from PC will come untagged which at switchport will be tagged as vlan 50 and in the meanwhile the Ip phone itself using its cdp negotiates a mini trunk with the switch and tags its packets as 10. now no one can remove an IP Phone and connect the switch or pc with an intention to bring up the trunk becoz the port is access port not the trunk port.


The most recommended way the readers of CCNA voice should follow

thanks Sunfish and drpain2006

Edited by talent pk, 17 October 2009 - 05:43 AM.

  • 0

#17 TheDarkLord

TheDarkLord

    Cisco and Unix Expert

  • Veterans
  • PipPipPipPip
  • 851 posts
  • Gender:Male

Posted 17 October 2009 - 01:42 PM

Great work all of you. :)

So now we know how to make a router into a DHCP server and a TFT server. Sunfish also explained how to make a router into an NTP server. These commands and procedures are very helpful.

Do not forget the "archive" command.

So just to repeat the steps:

(A normal scenario will be like this................ CME-Router------------Switch------------Phones)

When you plug in a Phone in a switch, it basically has no configuration or network settings. So it has to get certain information from the router to perform specific tasks including (limited to CCNA):

1) The Ip address (hence the DHCP settings)
2) The Correct time (NTP)
3) System Configuration (the gui, wallpapers, ring tones etc etc)(the CME files)

Once that is completed, the phones will sit idle but registered to the router. At this point the phones are ready to receive phone numbers, directory information and other call specific settings.

Thats where we use the Telephony-service commands.

For a complete list of all the command options look here: http://www.cisco.com...30cr/icr30.html

Edited by TheDarkLord, 17 October 2009 - 02:00 PM.

  • 0

#18 talent pk

talent pk

    Cisco Newbie

  • Technical Experts
  • PipPipPipPipPip
  • 4028 posts
  • Gender:Male
  • Location:Pakistan
  • Interests:Oracle

Posted 17 October 2009 - 04:30 PM

Before proceeding towards configuring Telephony service. i would like to add further to what The DarkLord explained.

A router must be configured with a DHCP scope. A Dhcp is a Client configuration service that automatically sends each client that it is connected to it a list of Network configurations such as

1. Ip address and subnet mask
2. default Router in case needed to goout reach remote CME Router or Internet.
3. Dns server. to resolve hostnames into ip addresses.

but wait how the phones will detect the Call Manager? The IP Phones are just dumb terminals asking for boot files with a .load extension and cnf-files or more commonly referred to as configuration files. which are usually put on a TFTP server. but how will we tell Phones where are their tftp server?

THE OPTION 150 Command
the option 150 ip x.x.x.x under DHCP server is a must before going further configuring ip telephony. so in order to do that you need to make sure of following steps

1. that the TFTP server is reachable (try pinging)
2. That all the necessary files of IP Phones are downloaded and copied to tftp
3. that all the basic CME files are copied
4. that all the basic CME files and Phone files are copied on to the router.

Whats CISCO Best Recommendations:
==================================

Cisco Recommends you to configure your Router as a tftp Server on which you are installing CME. so your CME is tftp server to the ip phones and the configurations are shown above by Drpain2006

But the question is as to what the CME Router would be offering the Phones with? These are the Mini IOS and bootable files of Phones. we must ensure that tftp server is correctly configured with these files in order for ip phones to boot up properly. here is an example

suppose that im using a 7940 Cisco Ip phone. here are the files that this model of phone requires in order to boot properly and its only possible via tftp server.

7940 Phone files.

CME2801#dir flash:/phone
Directory of flash:/phone/


52 -rw- 129824 Sep 22 2009 20:14:16 +03:00 P00308000500.bin
53 -rw- 130228 Sep 22 2009 20:14:32 +03:00 P00308000500.sbn
54 -rw- 705536 Sep 22 2009 20:14:40 +03:00 P00308000500.sb2
55 -rw- 458 Sep 22 2009 20:15:10 +03:00 P00308000500.loads

64012288 bytes total (5931008 bytes free)
CME2801#


see the above files .bin .sbn files are the mini IOS files meanwhile .load file is the bootable files that loads the ip phones.


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

as mentioned above each of these files must be separately configured to be available to clients.

to configure a router as a tftp server. just use the command tftp-server flash:/path of phone files.

in my example i would do this

CME2801#show running-config | in tftp-server
tftp-server flash:/phone/P00308000500.bin alias P00308000500.bin
tftp-server flash:/phone/P00308000500.loads alias P00308000500.loads
tftp-server flash:/phone/P00308000500.sb2 alias P00308000500.sb2
tftp-server flash:/phone/P00308000500.sbn alias P00308000500.sbn
CME2801#


Next is whats the Alias command and why it is necessary in conjunction with directory structure of flash

Edited by talent pk, 17 October 2009 - 04:46 PM.

  • 0

#19 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 17 October 2009 - 08:35 PM

Before proceeding towards configuring Telephony service. i would like to add further to what The DarkLord explained.

A router must be configured with a DHCP scope. A Dhcp is a Client configuration service that automatically sends each client that it is connected to it a list of Network configurations such as

1. Ip address and subnet mask
2. default Router in case needed to goout reach remote CME Router or Internet.
3. Dns server. to resolve hostnames into ip addresses.

but wait how the phones will detect the Call Manager? The IP Phones are just dumb terminals asking for boot files with a .load extension and cnf-files or more commonly referred to as configuration files. which are usually put on a TFTP server. but how will we tell Phones where are their tftp server?

THE OPTION 150 Command
the option 150 ip x.x.x.x under DHCP server is a must before going further configuring ip telephony. so in order to do that you need to make sure of following steps

1. that the TFTP server is reachable (try pinging)
2. That all the necessary files of IP Phones are downloaded and copied to tftp
3. that all the basic CME files are copied
4. that all the basic CME files and Phone files are copied on to the router.

Whats CISCO Best Recommendations:
==================================

Cisco Recommends you to configure your Router as a tftp Server on which you are installing CME. so your CME is tftp server to the ip phones and the configurations are shown above by Drpain2006

But the question is as to what the CME Router would be offering the Phones with? These are the Mini IOS and bootable files of Phones. we must ensure that tftp server is correctly configured with these files in order for ip phones to boot up properly. here is an example

suppose that im using a 7940 Cisco Ip phone. here are the files that this model of phone requires in order to boot properly and its only possible via tftp server.

7940 Phone files.

CME2801#dir flash:/phone
Directory of flash:/phone/


52 -rw- 129824 Sep 22 2009 20:14:16 +03:00 P00308000500.bin
53 -rw- 130228 Sep 22 2009 20:14:32 +03:00 P00308000500.sbn
54 -rw- 705536 Sep 22 2009 20:14:40 +03:00 P00308000500.sb2
55 -rw- 458 Sep 22 2009 20:15:10 +03:00 P00308000500.loads

64012288 bytes total (5931008 bytes free)
CME2801#


see the above files .bin .sbn files are the mini IOS files meanwhile .load file is the bootable files that loads the ip phones.


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

as mentioned above each of these files must be separately configured to be available to clients.

to configure a router as a tftp server. just use the command tftp-server flash:/path of phone files.

in my example i would do this

CME2801#show running-config | in tftp-server
tftp-server flash:/phone/P00308000500.bin alias P00308000500.bin
tftp-server flash:/phone/P00308000500.loads alias P00308000500.loads
tftp-server flash:/phone/P00308000500.sb2 alias P00308000500.sb2
tftp-server flash:/phone/P00308000500.sbn alias P00308000500.sbn
CME2801#


Next is whats the Alias command and why it is necessary in conjunction with directory structure of flash


Option 150 is definitely important, I guess the rest I already explained with my previous posts.

So lets move to ephones and ephones-dn ...
  • 0

#20 TheDarkLord

TheDarkLord

    Cisco and Unix Expert

  • Veterans
  • PipPipPipPip
  • 851 posts
  • Gender:Male

Posted 19 October 2009 - 08:17 AM

A sample config using all of the above should look like this:

CME Voice Router:
1) Copy the CME package to the router from the tftp server:

show flash			(To verify the free space)

archive tar /xtract tftp://172.16.2.50/cme-full-4.3.tar flash 	


1)Ephones and Ephones-DN configuration (Registration) 

telephony-service

max-dn 50			(Max directory number supported aka Extensions)

max-ephones  30		(Max phones that router can support)

ip source-address 172.16.1.1 port 2000	(Configure the CME interface)

Optional: Port assignment is optional, default is 2000.

At this point the CME is ready for phone registration.


2)Configure the CME router as a TFTP server

dir flash:/phone		(To see the phone configuration files)

tftp-server flash:/phone/7940-7960/P00308000500.bin alias P00308000500.bin

Copy all the other files using the same command from the phone directory.

telephony-service
load 7940-7960 P00308000500.bin

Do this for all the other files for the same phone models. 

create cnf-files			(Generate XML configuration files for the phone)

Optional: To know which file to use for the load command, Cisco has a list at Cisco’s website and search for “Cisco Unified supported firmware, platforms, memory, and voice products” 

Next will be to actually define the Ephone-DNs and the Assign them to Ephones.
  • 0

#21 Sunfish

Sunfish

    Ciscoholic

  • Veterans
  • PipPipPipPipPip
  • 1841 posts
  • Gender:Male
  • Location:somewhere at Cisco universe

Posted 20 October 2009 - 06:50 AM

This week I'll be extremely busy. So last weekend I worked my way through all the ephone and ephone-dn stuff to make sure that you won't leave me behind. ;)

Of course, I'll try to stop by if I have a chance to and might drop a quick note if anyone runs into problems. See you!
  • 0

#22 TheDarkLord

TheDarkLord

    Cisco and Unix Expert

  • Veterans
  • PipPipPipPip
  • 851 posts
  • Gender:Male

Posted 20 October 2009 - 02:19 PM

Good looking Sunfish. See you in a couple of days.

Back to business:

From Cisco:

Ephone-DN:

The ephone-dn command is used to enter ephone-dn configuration mode. Use ephone-dn configuration mode to create extensions (ephone-dns) in a Cisco CallManager Express (Cisco CME) system.

The following example enters ephone-dn configuration mode to create the ephone-dn 5576:

Router(config)# ephone-dn 1
Router(config-ephone-dn)# number 5576
Router(config-ephone-dn)# exit


Ephone:

The ephone command is used to enter ephone configuration mode. Use ephone configuration mode to provision Cisco IP phones in Cisco CallManager Express (Cisco CME) systems. When you are in ephone configuration mode, extensions (ephone-dns) that have already been defined using the ephone-dn command can be assigned to buttons on phones using the button command. You can also specify the MAC address of the phone instrument using the mac-address command.

The following example enters ephone configuration mode for a phone with the identifier 4 and assigns ephone-dn 1 to button 1:

Router(config)# ephone 4
Router(config-ephone)# button 1:1
  • 0

#23 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 20 October 2009 - 07:44 PM

As you already jumped into ephones and ephone dn, it would like give some more details on this since talking about myself here the "real" voice part of starts. I mean what we did dso far, setting up DHCP, TFTP and network configuration is more related to R&S but with ephones at least for me new stuff came to learn.

So I guess everybody had some time on the weekend to setup the so far config we did and to start with telephone service. Before we can setup the ephones and explain what they are about we need to make some basic Voice configuration. The Voice part of the IOS has an own config mode which is telephony-service. So out of the regular configure you get into the voice mode.

1760V#conf t
Enter configuration commands, one per line. End with CNTL/Z.
1760V(config)#telep
1760V(config)#telephony-service
1760V(config-telephony)#

Now we are in the global Voice config mode. Before we can go further woth pur phones we need to tell the router how many phone extension we will use. By default its set to 0 so we have to define it. Its important to mention since the router will dedicate ressources based on your input. So the amount ofg DN should the real amoiunt of numbers you need, maybe some spare. To do so max-dn is the command we use. You can see my router support 150 DN.

1760V(config-telephony)#max-dn ?
<1-150> Maximum directory numbers supported
<cr>

1760V(config-telephony)#max-dn 10

I choose 10 Extensions here.
  • 0

#24 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 20 October 2009 - 07:57 PM

Next step is to define how many IP Phone we going to use. Where the DN are kind of "virtual" phones the ephones are the real phone we are going to attach to our network. The same as above applies to the ressources so define I amount that reflects you setup. Command to do so is max-ephones:


1760V(config-telephony)#max-ephones ?
<1-30> Maximum phones to support

1760V(config-telephony)#max-ephones 10

Last setup for the basic setup is to define the source IP Address of the CME, the IP the phone will come into the router.
1760V(config-telephony)#ip source-address a.b.c.d
  • 0

#25 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 20 October 2009 - 08:40 PM

To wrap up, three small commands are required to enable our voice service

1760V(config-telephony)#max-dn 10
1760V(config-telephony)#max-ephones 10
1760V(config-telephony)#ip source-address a.b.c.d

With all the previous configuration the phones now should be able to receive their configuration files via the tftp server, load their firmware and since we are just enabled our voice service register with the CME. By default the router will register any phone that request so. To verify this just do a show ephones:

ephone-1 Mac:000A.3A88.FCC1 TCP socket:[-1] activeLine:0 DECEASED
mediaActive:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0
IP:192.168.1.117 50356 CIPC keepalive 427 max_line 8

ephone-2 Mac:0011.21CE.C80A TCP socket:[1] activeLine:0 REGISTERED in SCCP ver 3 and Server in ver 3
mediaActive:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0
IP:192.168.1.121 1030 7920 keepalive 3157 max_line 6

ephone-3 Mac:0018.195A.A875 TCP socket:[4] activeLine:0 REGISTERED in SCCP ver 12 and Server in ver 5
mediaActive:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0
IP:192.168.1.99 51057 7961 keepalive 11083 max_line 6

This proves our "as of right now configuration". The phones are loaded and registered, but there is now extension allocated to them and if you go off hook nothing will happen. That will bring us to the next step, ephone-dn and link them to the phone.

BTW, the auto register feature can be disabled from the config mode that only permitted phones are able to register with the callmanager.

So lets jump to the next step...
  • 0

#26 TheDarkLord

TheDarkLord

    Cisco and Unix Expert

  • Veterans
  • PipPipPipPip
  • 851 posts
  • Gender:Male

Posted 21 October 2009 - 02:43 PM

Thanks Doc as usual.


Alright people i have just uploaded a video lab using GNS3. This lab has everything that we have learned so far.

See Post# 2 of this thread for the link.
  • 0

#27 talent pk

talent pk

    Cisco Newbie

  • Technical Experts
  • PipPipPipPipPip
  • 4028 posts
  • Gender:Male
  • Location:Pakistan
  • Interests:Oracle

Posted 21 October 2009 - 06:06 PM

Well! as Drpain2006 said.

3 commands that really turns on the VoIP on the Router are as follows

1. max-dn
2. max ephones
3. ip source address.

enable these 3 commands under telephony-service.

1. max-dn:
===========
Define how many directory numbers maximum you want in your network.

Precaution! Do not assign numbers beyond your organizational need. as the Router will provision more memory and DSP Resources. Make sure you choose number according to your organizational needs!

2. max ephones:
=================
Define how many ip phones you are going to use in your network.

Precaution! Do not assign number of ephones beyond your organizational need. as the Router will provision more memory and DSP Resources. Make sure you choose ephones according to your organizational needs!

3. ip source address:
=====================

Define the interface which is going to send skinny messages. this interface must be reachable by the ip phones.

if you are using ip phones in remote branches which are connected by VPN to this router. use a Loopback interface and use ip source address of loopback interface.

Loopback interface will cause the router to register Ip phones from any physical interface.

Edited by talent pk, 21 October 2009 - 06:09 PM.

  • 0

#28 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 21 October 2009 - 10:44 PM

As of right now we have phone registered to our CME and waiting for dialtones and extension to make calls. This is done by the ephone-dn. Where the configuration of the ephones are dealing with the hardware/the real phones connected to our Voip network the ephone-dn are "virtual" phones assigning number to our ephones etc.

Before starting configuration we need to consider single and dual lines that must be configured with ephone-dn, it can not be changed later without deleting the ephone-dn and reconfigure:

Single Line - Can handle only one call at a time. If another call comes in the other gets a busy signal (default)
Dual Line - This is needed when you want to have options like call waiting, transfer of call and so on

From global config this needs to be done:

1760V(config)#ephone-dn 1 ?
dual-line dual-line DN (2 calls per line/button)
<cr>

As you can see without specifying dual-line a single line will be created. So :

1760V(config)#ephone-dn 1 dual-line
1760V(config-ephone-dn)#number 1007
1760V(config-ephone-dn)#exit

I just typed number 1007 to tell the router ephone-dn 1 is extension 1007, nothing more at this time.

I want to mention at this time of my learning I had some problems to understand ephone and ephone-dn. First of all it was new and how they are related to eachother. As you see above I configured ephone-dn 1 for ext. 1007, when I did configuration for the first time I thpught that the ephone-dn tag number
(1 in our example) reflect the respective ephone as configured in the previous post. But thats not the case, you are flexible to assign any ephone-dn tag to any ephone you want. We will do this in the next step, but just for you undertanding that both are absolute seperate.

So here is the related sh run | s ephone of the above step:

1760V#sh run | s ephone
max-ephones 10
ephone-dn 1 dual-line
number 1001
description Nummer 1001 - CISCO 7920
ephone-dn 2 dual-line
number 1002
description Nummer 1002 - CISCO 7961G
ephone-dn 3 dual-line
number 1003
description Nummer 1003 - CIPC
ephone-dn 4
number 2001
ephone-dn 7 dual-line
number 1007

As you can see I provided description to the ephone-dn. First of all it helps do identify the type of phone you have/want to assign to it, and it also appears in the display of the phones.

Next step is to link ephones and dn's ...
  • 0

#29 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 21 October 2009 - 11:09 PM

In order to assign an ephone-dn to a phone you need the MAC address of the phone. This is how its link to eachother. A show ephone will help us to find out the MAC

1760V#sh ephone

ephone-1 Mac:000A.3A88.FCC1 TCP socket:[3] activeLine:0 REGISTERED in SCCP ver 15 and Server in ver 5
mediaActive:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0
IP:192.168.1.124 51878 CIPC keepalive 7 max_line 8

The two important things from this output is the ephone number (ephone-1) and the MAC. Now we can assign a number to the phone from the global config:

1760V(config)#ephone 1
1760V(config-ephone)#mac-address 000A.3A88.FCC1

At this stage we havent yet allocated the number but giving the MAC address will "hardcode" ephone 1 to the running config. Let me explain. So far we had autoregistering on our CME. That also means when the router is rebooting all the registering information are gone and depending on how fast the devices will connect to rebooted router another phone will be ephone 1 because it was just the first to register. To avoid this the above steps are required.
One remark, when you have several phones autoregistered to the router you have to use the current ephone tag or a tag higher than the last ephone to hardcode it. For exapmle, in my previous posts I put the sh ephone with three phones. ephone 1 to 3. You can not hardcode the MAC address under ephone 1 to ephone 2 or three since its already used. I guess posting the config is better explaination:

ephone-1 Mac:000A.3A88.FCC1 TCP socket:[3] activeLine:0 REGISTERED in SCCP ver 15 and Server in ver 5
mediaActive:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0
IP:192.168.1.124 51878 CIPC keepalive 31 max_line 8

ephone-2 Mac:0011.21CE.C80A TCP socket:[1] activeLine:0 REGISTERED in SCCP ver 3 and Server in ver 3
mediaActive:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0
IP:192.168.1.121 1030 7920 keepalive 6333 max_line 6

ephone-3 Mac:0018.195A.A875 TCP socket:[4] activeLine:0 REGISTERED in SCCP ver 12 and Server in ver 5
mediaActive:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0
IP:192.168.1.99 51057 7961 keepalive 14231 max_line 6

When I now try to allocate MAC of ehpone 1 to ephone 2 or 3 I get this:

1760V(config)#ephone 2
1760V(config-ephone)#mac 000A.3A88.FCC1
ePhone slot is already registered with 0011.21ce.c80a.
Can not change MAC address.

So you have to choose either the current one or a free one. I guess you got the point, at this time we now have the ephone in our running-config

sh run

ephone 1
mac-address 000A.3A88.FCC1
type CIPC
!
ephone 2
mac-address 0011.21CE.C80A
type 7920
!
ephone 3
mac-address 0018.195A.A875
type 7961

Now we can assing the numbers to the phone ....
  • 0

#30 drpain2006

drpain2006

    Advanced Member

  • Members
  • PipPipPip
  • 156 posts
  • Gender:Male
  • Location:Germany

Posted 21 October 2009 - 11:37 PM

I good point to start is a sh run | s ephone

1760V#sh run | s ephone
max-ephones 10
ephone-dn 1 dual-line
number 1001
description Nummer 1001 - CISCO 7920
ephone-dn 2 dual-line
number 1002
description Nummer 1002 - CISCO 7961G
ephone-dn 3 dual-line
number 1003
description Nummer 1003 - CIPC
ephone 1
mac-address 000A.3A88.FCC1
type CIPC
ephone 2
mac-address 0011.21CE.C80A
type 7920
ephone 3
mac-address 0018.195A.A875
type 7961

First you need to choose the phone you want to give a number. Lets choose ephone 1 and go to global config and ephone 1

1760V(config)#ephone 1
1760V(config-ephone)#

Now we need use the button command. I just want to say that there is hundreds of possible option with the button command (type button ?)that might be important to know but for here I want to keep it as easy as possible.

1760V(config-ephone)#button (first we have to specify the real button on the phone. When you see CISCO IP Phone, it has several line buttons. 1 is on the top.
1760V(config-ephone)#button 1: (So frst button and now we need to give the tag number of the ephone-dn we created. Lets take 1.
1760V(config-ephone)#button 1:1

Of course you could configure button 2 another dn and so on.
In order to tell the phone, hey you are 1001, now it has to be restarted

1760V(config-ephone)#restart

You can see the phone rebooting and 1001 on button 1 appears and you will get a dialtone when go offhook and when doing this with a second one you can make a call !!!

So far for today on this. I guess the next is advanved features (call forwarding, huntgroups and shared line) and then the huge dial-peers (for me the most difficult part). I need to fix my running config since I playing with my live config when I'm typing here.

In addition I'm thinking to share my study notes fromn the CVOCIE theory part since so far we just doing practical stuff. I guess I will open a new thread for the theory later and my notes about signalling.
  • 0





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users