INTRODUCTION
I put on this page all the infomation I gathered to configure the Cisco 7941.
You will find below a tutorial explaining
- How to flash the phone to run SIP firmware
- How to configure and customize a Cisco IP Phone 7941
- Other stuff like remotely control the phone, connect with ssh, etc...
REQUIREMENTS
- A cisco IP Phone 7941
- A HTTP and TFTP server (in my case a linux Debian) running atftp/apache
- The last SIP Firmware from cisco; here is the one I'm using
USEFUL HINTS
Before strating to configure the phone, there are some shortcut and Debug method to know.
- Soft reset : Press "SETTINGS" then "*" "*" "#" "*" "*"
- Unlock the IP Phone Settings : Press "SETTINGS" then "*" "*" "#" (some settings can't be unlocked
- Phone System Accounts :
- Login : log / Pass : log
- Login : debug / Pass : debug
- Login : default / Pass : user
- Connect the web interface : http://PHONE_IP/
CONFIGURE THE NETWORK
This chapter describe how to configure the network on the IP Phone.
With a DHCP Server
Configure the DHCP server to give the approrpiate IP configuration to the Phone (IP / Netmask / Default Router / DNS). Depending of the server you should be able to provide the TFTP serveur as well.
Without DHCP Server
Without a DHCP or a BOOTP serveur, you can configure the network like this :
- Press the "SETTINGS" keystroke
- Unlock options by Pressing : "*" "*" "#"
- Enter Network configuration
- Disable DHCP
- Specify the IP / Netmask / Gateway / DNS
- Set Alternate TFTP to Yes to be able to set the TFTP Server Address
- Set TFTP Server 1 to you TFTP server ip address
Test network
- Try to ping the IP Phone From the Network
- reboot the phone et verify that you get entries in your TFTP server log
UPGRADE TO SIP FIRMWARE
This chapter describe how to load the firmware into the IP phone.
- Extract the firmware into the TFTP_ROOT
root@tftserver /tftpboot>find .
./XMLDefault.cnf.xml # Global configuration file
./apps41.8-4-1ES2.sbn # Firmware Files
./cnu41.8-4-1ES2.sbn
./cvm41sip.8-4-1ES2.sbn
./dsp41.8-4-1ES2.sbn
./jar41sip.8-4-1ES2.sbn
./SIP41.8-4-1SR1S.loads # MAIN Firmware file
./term41.default.loads
./term61.default.loads
- Create a minimal XMLDefault.cnf.xml as below, Adapt the configuration below to match your firmware version name (Main Firmware Filename without the extension .loads
root@pepin /tftpboot>cat XMLDefault.cnf.xml
<device>
<loadInformation>SIP41.8-4-1SR1S</loadInformation>
</device>
- Reset the phone
- The phone will reboot, load XMLDefault.cnf.xml, reset again and upgrade to new firmware
- Be aware that if the file contains a bad option, or a bad symbol, the whole file is skipped and the phone run the last good configuration
- Verify the Firmware Version : Press "SETTINGS" -> "Status" -> "Firmware Versions"
IP PHONE 7941 CONFGURATION
XMLDefault.cnf.xml / SEP<PHONE_MAC_ADDRESS>.conf.xml
This is the main configuration file; This file contains the common configuration of all IP Phones using this TFT Server
You can override Settings by creating a file named : SEP<PHONE_MAC_ADDRESS>.conf.xml (eg: SEP001B0CDBA755.conf.xml)
The content of this file is well documented on this page voip-info.org
dialplan.xml
This file describe to the phone the format of the phone number you may entered. It help him to detect short extension, Internationnal call, Voicemeail, etc...
Here is the one I use.
This section come from the excellent site : voip-info.org
This file controls the phone's matching of digits. By default "*" matches anything and times out after 5 seconds. Users must push 'Dial' or '#' to connect if they don't want to wait 5 seconds. For a variety of reasons, not least of which being that most phone users are not accustomed to pressing 'Dial' on their offices, it may be desirable to configure a dial plan for your organization.
If you wish to use the hash (by default it will immediately dial the number entered) include it explicitly as part of a pattern in DIALPLAN.XML
<DIALTEMPLATE>
<TEMPLATE MATCH="#..." Timeout="5" User="Phone" />
<TEMPLATE MATCH="*" Timeout="5" User="Phone" />
</DIALTEMPLATE>
In another example, we immediately match 9+10digits or 9+1+10digits, and match 5+2digits as internal extensions
<DIALTEMPLATE>
<TEMPLATE MATCH="5.." TIMEOUT="0"/>
<TEMPLATE MATCH="9,1.........." TIMEOUT="0" Tone="Bellcore-Alerting"/>
<TEMPLATE MATCH="9,.........." TIMEOUT="0"/>
</DIALTEMPLATE>
In the above example, a secondary dial tone is invoked by the comma character. If the Tone attribute is left blank, the default will be used. Or you can specify one of the following:
- Bellcore-Alerting
- Bellcore-Busy
- Bellcore-BusyVerify
- Bellcore-CallWaiting
- Bellcore-Confirmation
- Bellcore-dr1
- Bellcore-dr2
- Bellcore-dr3
- Bellcore-dr4
- Bellcore-dr5
- Bellcore-dr6
- Bellcore-Hold
- Bellcore-Inside
- Bellcore-None
- Bellcore-Outside (default)
- Bellcore-Permanent
- Bellcore-Reminder
- Bellcore-Reorder
- Bellcore-Stutter
- CallWaiting-2
- CallWaiting-3
- CallWaiting-4
- Cisco-BeepBonk
- Cisco-Zip
- Cisco-ZipZip
Notes: This file is case sensitive in some firmware versions; all elements and attributes should be uppercase (except Tone) or the entries may be ignored. According to Cisco, the phone will always match the LONGEST expression
CUSTOMIZING THE BACKGROUND
List.xml
As you may have seen, on boot the phone is requesting to your TFTP Server the following file : TFTP_ROOT/Desktops/320x196x4/List.xml. This file describes all backgrounds available :
root@pepin /tftpboot>cat Desktops/320x196x4/List.xml
<CiscoIPPhoneImageList>
<ImageItem Image="TFTP:Desktops/320x196x4/sonik-tn.png"
URL="TFTP:Desktops/320x196x4/sonik.png"/>
<ImageItem Image="TFTP:Desktops/320x196x4/sonik2-tn.png"
URL="TFTP:Desktops/320x196x4/sonik2.png"/>
</CiscoIPPhoneImageList>
Creating the background
For each background you need 2 PNG files, the background file and it thumbnail, as described below (extract from Cisco)
Each background image requires two PNG files:
- Full size image—Version that appears on the on the phone.
- Thumbnail image—Version that appears on the Background Images screen from which users can select an image. Must be 25% of the size of the full size image.
Tip: Many graphics programs provide a feature that will resize a graphic. An easy way to create a thumbnail image is to first create and save the full size image, then use the sizing feature in the graphics program (like GIMP) to create a version of that image that is 25% of the original size. Save the thumbnail version using a different name.
The PNG files for background images must meet the following requirements for proper display on the Cisco IP Phone:
- Full size image—320 pixels (width) X 196 pixels (height).
- Thumbnail image—80 pixels (width) X 49 pixels (height).
Tip : If you are using a graphics program that supports a posterize feature for grayscale, set the number of tonal levels per channel to 16, and the image will posterize to 16 shades of grayscale.
Selecting the background on the phone
- Press settings
- Select User Preferences
- Select Background Images
SSH
You can connect the phone if you added the couple sshUserId/sshPassword in XMLDefault.conf.xml in my case I use (cisco/cisco) :
root@pepin /tftpboot >ssh PHONE_IP_ADDRESS -l cisco
cisco@PHONE_IP_ADDRESS's password: cisco
login: default
password: user
$ uname -a
CNU6-OS 8.4(1ES2.) 3.3(0.2) CP-7941G BCM1100-C1(MIPS32)
$ ls /
bin dev flash0 home root tmp usr
cnu etc flash1 modules sbin ubin var
$
SCREENSAVER
You've got the possibility to run a service on top of screen when the phone is idle.
Once idleTimeout is over the phone retreive idleURL (idleTimeout and idleURL are declared in XMLDefault.conf.xml); you can use it to display Weather Forecast, Train Departure, News, etc...
Read the SERVICES section to learn more about howto create services
- Set idleTimeout to a number of seconds (0 = Inactive)
- Set IdleUrl to the service you want to run
WARNING : be sure that your webserver return the Content-Type text/xml; all other Content-Type are considered as error. (eg: Apache by default returns Application/xml)
CONTRIBS
CREDITS
TODO :
- FAire un index
- Rajouter la doc du telephone
- Rajouter le firmware en ligne
- Rajouter un fichier de conf FULL
- Rajouter le Diaplan
<- back
s0nik42 27/11/06 (created on 27/09/08)