I decided to systematize my knowledge on the topic, and probably it should be useful to the people - I remember that at the time when I was searching for almost nothing significant on the network I did not find.
who is interested -
Well under Habrakat
Introduction
')
Callmanager Express is a built-in Cisco IOS functionality with SP Services and higher implemented on routers of the ISR family: 18xx, 28xx, 38xx.
The number of supported users (or rather phones) depends on the platform. A maximum of 250 phones are supported on the 3845 router. Analog FXO / FXS ports and devices connected via SIP / H323 trunks are not considered - only SCCP and SIP terminals registering on the router itself.
The functionality provided by this IP ATC is more than enough for the functioning of an average office (and 250 people are, in my opinion, much more of an average office). Plus, the same router allows you to organize Internet access (you can use several different providers), organize security (DMZ, firewall, IPS), connection for remote users and branches (IPSEC, SSL VPN, DMVPN) and in general almost everything If you like, you can also connect a coffee maker with special modules. :)
Let's get down to business.
Basic configuration:
To begin with the basic concepts. Cisco recommends using a separate VLAN for IP phones - this allows you to isolate voice traffic to ensure security and simplify QOS configuration on the network. Such a VLAN is called Cisco-Voice. Orthodox switches can tell the phone about the presence of such a VLAN using the CDP protocol. User traffic from the second Ethernet port of the phone, intended for connecting the user's computer, is usually transmitted untagged.
An example of setting up a port on a switch (2960 and later) for connecting an IP phone:
interface FastEthernet0/1/2
switchport voice vlan 101
macro description cisco-phone
spanning-tree portfast
In the simplest case, the switch connects to the router using the trunk port and the router requires creating an L3 interface to terminate the Voice-Vlan. This can be either an Ethernet subinterface or a virtual SVI, depending on the type of port on the router.
Example:
interface GigabitEthernet0/0.101
description Cisco_Voice
encapsulation dot1Q 101
ip address 10.1.1.1 255.255.255.0
ip nbar protocol-discovery
Next, we need to give the phone IP addresses. Here lies one important nuance - Cisco phones are configured using an XML file created by the Callmanager itself for each phone. Phones download their config via tftp from the router. The first thing the phone does after powering on and initializing the firmware is trying to find the file SEPxxxxxxxxxxxx.cnf.xml on the tftp server, where xxxxxx is the MAC address of the phone.
So we need to tell the phone about the IP address of the tftp server. This is done using a separate option in the DHCP response.
An example of setting up a DHCP server for phones on the router:
ip dhcp pool phone
network 10.1.1.0 255.255.255.0
default-router 10.1.1.1
option 150 ip 10.1.1.1
Option 150 just points to the tftp server - in our case it matches the IP address on the interface that terminates Voice-Vlan.
So we have provided connectivity of phones and IP PBX, it’s time to start creating the configuration of the PBX itself.
Callmanager setup
It is possible to create a basic configuration for Callmanager by answering simple questions in the CLI. This is done by the telephony-service setup command in the configuration mode:
router(config)#telephony-service setup
--- Cisco IOS Telephony Services Setup ---
Do you want to setup DHCP service for your IP Phones? [yes/no]: no
Do you want to start telephony-service setup? [yes/no]: yes
Configuring Cisco IOS Telephony Services :
Enter the IP source address for Cisco IOS Telephony Services :10.1.1.1
Enter the Skinny Port for Cisco IOS Telephony Services : [2000]:
How many IP phones do you want to configure : [0]: 10
Do you want dual-line extensions assigned to phones? [yes/no]: yes
What Language do you want on IP phones :
0 English
1 French
2 German
3 Russian
4 Spanish
5 Italian
6 Dutch
7 Norwegian
8 Portuguese
9 Danish
10 Swedish
11 Japanese
[0]: 0
Which Call Progress tone set do you want on IP phones :
0 United States
1 France
2 Germany
3 Russia
4 Spain
5 Italy
6 Netherlands
7 Norway
8 Portugal
9 UK
10 Denmark
11 Switzerland
12 Sweden
13 Austria
14 Canada
15 Japan
[0]: 0
What is the first extension number you want to configure (maximum 32 digits): 100
Do you have Direct-Inward-Dial service for all your phones? [yes/no]: no
Do you want to forward calls to a voice message service? [yes/no]: no
Do you wish to change any of the above information? [yes/no]: no
CNF-FILES: Clock is not set or synchronized, retaining old versionStamps
---- Setup completed config ---
As a result, we obtain the following result in the config of the router:
router#sh run | b telep
telephony-service
max-ephones 10
max-dn 10
ip source-address 10.1.1.1 port 2000
auto assign 1 to 10
max-conferences 4 gain -6
transfer-system full-consult
server-security-mode non-secure
create cnf-files version-stamp Jan 01 2002 00:00:00
!
!
ephone-dn 1 dual-line
number 100
< .... skipped ... >
ephone-dn 10 dual-line
number 109
ephone 1
no phone-ui speeddial-fastdial
no multicast-moh
device-security-mode none
keepalive 30 auxiliary 0
< .... skipped ... >
ephone 10
no phone-ui speeddial-fastdial
no multicast-moh
device-security-mode none
keepalive 30 auxiliary 0
The script created a basic configuration for us, created 10 internal dual-line (dual-line) numbers with ephone-dn commands, and created 10 “pigs” for IP phones controlled by SCCP ephone commands.
As we already know, phones are identified by MAC address.
The script has enabled auto-registration of phones with the
auto assign 1 to 10 command, now the “new” phone will knock on the tftp server, Callmanager will “see” the registration attempt from an unknown phone, and if there are still free places from the requested 10, it will register the phone in its config file .
Thus, the first 10 phones will automatically receive numbers from 100 to 109.
We will go our own way and add a couple of phones manually:
router(config)#ephone 1
router(config-ephone)#mac-address 001B.D460.EAE6
router(config-ephone)#type 7912
router(config-ephone)#button 1:1 ; 100 ephone-dn1
router(config)#ephone 2
router(config-ephone)#mac-address 0022.9004.C1DC
router(config-ephone)#type 7941
router(config-ephone)#button 1:10 ; 109 ephone-dn10
let's not forget to re-generate configs for phones (this is not always necessary, but for reliability)
router(config)#telephony-service
router(config-telephony)#create cnf-files
CNF file creation is already On
Updating CNF files
CNF files update complete
The phones will reboot, download the new config from the server's tftp, and register on the IP PBX.
You can make sure that the phones are registered with the command sh ephone registered.
output from a real piece of iron:
router#sh ephone registered
ephone-5 Mac:0022.9004.C1DC TCP socket:[6] activeLine:0 REGISTERED in SCCP ver 9/8
mediaActive:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0 caps:9
IP:10.1.1.12 52836 7906 keepalive 4491 max_line 2 dual-line
button 1: dn 10 number 4400 CH1 IDLE CH2 IDLE
Username: Igor
ephone-7 Mac:0022.9003.8804 TCP socket:[5] activeLine:0 REGISTERED in SCCP ver 9/8
mediaActive:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0 caps:9
IP:10.1.1.11 51460 7931 keepalive 10026 max_line 20
button 1: dn 11 number 4213 CH1 IDLE CH2 IDLE
Username: Alexander
Already you can call each other, profit! : D
In further articles, I will talk about more fine-tuning PBX, voice mail, forwarding calls over PSTN and IP trunks, and other interesting things.
Stay tuned! :)
Write about what you would be interested to read in the context of Callmanager Express, and indeed Cisco voice solutions. I will try to illuminate.
Upd: are urged to
clarify the issue price.
Voice bundle (bundle) router Cisco1861 with:
- license for 8 IP phones (+ 2 bonus licenses, total 10)
- with 4FXO + 4FXS modules (i.e., 4 more analog phones can be connected immediately)
- built-in Wi-Fi access point
- UnityExpress (voicemail)
- 8 port switch with PoE
GPL will cost $ 5495.
In addition to this router, nothing more is needed - it completely covers the IT infrastructure of a small office.
Well, maybe a server under the file system / mail. But this is an optional item.
Phones can take any SIP if you want very cheap, and the minimum Cisco phones will cost $ 135 in the GPL.