Cisco 79xx Phones

How to configure Cisco 7940, 7940G, 7960, 7960G Series IP Phones with sipX

The sipX Configuration Server Versions 2.8.1 and higher support automatic remote configuration of Cisco 7960 and 7940 phones. After power up, the phone automatically registeres with sipX requesting a specific user and phone profile to be downloaded to the phone. Identification of the phone is based on its MAC address. Using the sipX configuration server GUI, remote administration and management of large and geographically diverse populations of Cisco 7900 series SIP phones can be done very easily.

You must have a Cisco phone with SIP firmware 6.3 or higher (preferably 7.x), not Callmanager (SCCP) firmware, to configure your phone(s) correctly using the following steps.

A description of features of the SIP version of the Cisco 7960 / 7940 can be found at Cisco's Web site.


Obtaining the Cisco SIP firmware

Cisco phones are expensive. Make sure that before you decide for Cisco phones you check out the lineup of Polycom phones and Snom phones. They are equal or better in terms of usability and functionality at a significantly lower price.

OK, you want a Cisco phone. Obtaining the SIP firmware required to transform the standard SCCP phone into a SIP phone typically requires you to buy a maintenance contract for the phone either from Cisco directly or a certified reseller. Cost for a minimum one year maintenance contract is typically in the $80 range, which has to be added to the price of the phone. Please contact your reseller for additional details.

While it might be possible now to buy a new Cisco IP phone with a SIP firmware load, obtaining firmware upgrades still requires a maintenance contract (Cisco SmartNet).

Network Configuration before you start

In order for the phone to recognize the sipXecs server as its boot server at startup, your DHCP server needs to provide additional necessary information to the phone as it obtains an IP address. By default the phone is configured to look for the DHCP option TFTP Server Address (Option 150) to obtain the IP address or host name of the TFTP server that is configured to provide the configuration information.

The standard DHCP parameter to define a TFTP server is option 66. Option 66 is used by the Polycom phones as well as by Grandstream and other phones. Cisco uses a different parameter as an alternative: DHCP Option 150. Option 150 has recently been defined (probably by Cisco). The Cisco manual states that Option 66 should also work, however, I have not been able to verify that.

The option 66 should not be used with option 150: If they are sent together, then the phone prefers the IP address over the name given by the 66 option. However, if both a dotted decimal IP address and a 150 option are sent, then order of preference is dependent on the order that they appear in the option list. The phone chooses the last item in the option list. To reiterate, option 66 and option 150 are mutually exclusive.

Alternative: Manual TFTP Server Address Setup

Alternatively and if it is not possible for you to change the settings of your DHCP server, the TFTP server address can be manually configured on the phone using the phone top interface.

Perform the following steps on your Cisco 7960G and 7940G phones:

  1. Power the phone up
  2. Press 'settings' button
  3. Scroll down to option '9 - Unlock Configs'
  4. Press select
  5. Enter a password "cisco", press 'accept'
  6. Scroll up to option '3 - Network Configuration'
  7. Press 'Select' and note the value of the MAC address in option 2
  8. Scroll down to option '7 - TFTP Server'
  9. Press 'Edit'
  10. In the 'New TFTP Server' box erase the old value, if any
  11. Enter the IP address of sipXecs
  12. PRess 'Accept'
  13. Press 'Save'
  14. Press 'Back'
  15. Restart the phone; the phone should get a new configuration from sipXecs TFTP server.

For whatever reason Cisco has not chosen to add a Web based configuration interface. Therefore, the only options to configure parameters in a Cisco phone are either by using a telnet session, or by creating a configuration file that can be loaded using a TFTP server, or by using the phone top interface.

Configuring Cisco Phones using the sipX Configuration Server

Once the phone is able to find its boot server (TFTP server) at startup, all remaining configuration is done automatically and remotely using the sipX configuration server and Web UI. The tasks required to complete the installation are as follows:

  1. Create at least one user who will be using the phone
  2. Create the phone as a device known to sipX
  3. Assign one or several users to the phone (create lines)
  4. Generate the profile for the phone and reboot the phone

1. Create a user

  1. Log into the sipX UI as superadmin
  2. It is recommended that you add different User Groups as Web UI and Call Handling Permissions can be defined either for groups or individual users. Groups can consist of users with different phones.
  3. Click on Users from the main navigation, then click the Add User button to create a new user:
  4. Create a new user by entering the requested parameters. The extension number is populated based on the settings in User Extension Pool; however, it can be changed. Note that the PIN is only the password the user needs to login to the voicemail portal. The SIP password the phone will use for registration is automatically generated and assigned. It can be viewed / changed by clicking on Show Advanced Settings.

5. Edit permissions by going to Group Settings for the group the user belongs to. If the user should be able to record system prompts using the phone, enable it. Also, make sure you set correct permissions for dialing rules. Alternatively, permissions can be defined for an individual user.

2. Create a Device for the new phone

Creating a new phone using the sipX Configuration Server Web interface is simple. Go to Phones and select New Phone.

Serial number: This is the MAC address of the phone. This MAC address is used to generate the configuration profile for the phone and also the file name of this configuration file will include this MAC address. The phone is then able to pick up the profile using the sipX TFTP server.

Phone model: Select your model from the drop-down menu

Additional groups: It is a good idea to organize your deployment of devices in groups.

2. Click on your new phone entry, listed by its serial number, then go to Lines.

Note: The outbound proxy field is intentionally left empty. The line will register with the server specified as Registration Server for each line. This allows several lines to register with different proxy server.

3. Assign user(s) to the phone

  1. Click on Add Line. You can search for a specific user or just click Search with empty fields, which will list all users. Select a user and press Select. You have now attached that user to the device. Dependent on the phone model, several lines can be attached to a device.

4. Generate the profile

1. Click the checkbox on the left side of the entry and select the Send Profiles button. This now creates the configuration profile for the phone with default parameters and stores it in the TFTP root directory of the sipX server. During the previous steps we have used default parameters for both the user we created as well as the device. These default parameters should allow the phone to properly register with sipX when it boots next time. Once registration is accomplished, user and device parameters can be changed to your specific requirements.

Note: You can verify that the profile was generated successfully by clicking on Job Status under Diagnostics in the main navigation menu. You will find an entry for the newly generated profile.

The following Cisco configuration file is generated automatically: SIP<mac>.cnf, where <mac> is the MAC address of the phone. The file is stored in the TFTP root directory of the sipX server at /var/sipxdata/configserver/phone/profile/tftproot.

2. You now need to restart your Cisco phone manually by unplugging the power cord. As the phone comes back up it should now successfully register with the sipX proxy. This can be verified by clicking on Registrations under Diagnostics in the main navigation menu. An entry should be shown for the phone. Once the phone registered successfully with ConfigServer it can then be restarted from the Web UI remotely as you make further changes to its configuration.

The default profile causes the phone's password to be reset to cisco, which is also the factory default. If you want a different password, change the corresponding value in the field Network Parameters / phone_password.

Additional Features

Message Waiting Indication (MWI)

Message Waiting Indication works "out-of-the-box", which is quite remarkable given the fact that the Cisco phones are not compliant with the SIP RFCs in this area. The Cisco SIP phones do not send a SUBSCRIBE request to sipX in order to subscribe to MWI notify events from the Media Server. Instead they expect an unsolicited NOTIFY when the message state changes. Let me be clear: This is not in accordance with the SIP RFCs.

Some special mechanism was added to sipXecs to support MWI with Cisco phones.

Note: The message_uri parameter for the phone needs to be set to "101", the default extension for the sipX voicemail server, or the extension you chose for voicemail in your installation. This enables the user of the Cisco phone to press Messages to directly connect to the voicemail system. This setting is the default setting for the Cisco profile in the sipX Configuration Server.

Change the Logo on the Phone's Screen

You can add your own logo to the phone's screen. A logo file can be uploaded from the sipX Configuration Server using HTTP. The format of the logo file has to be a Windows Bitmap (*.bmp) with 256 colors (even though the display is black & white), 90 x 56 pixels in size, and saved in grayscale.

You can use any bitmap editing software such as Photoshop, Microsoft Paint, or GIMP (with GIMP use Image / Mode / Greyscale). If the size of the logo is larger then this specification, the phone will rescale to fit.

Once the image is created, place the *.bmp file into the /var/sipxdata/configserver/phone/profile/docroot directory on your sipX server. Make sure the file permissions are set so that read is enabled for everyone.

Using Configuration Server enter the following URL into the Phone parameters / logo_url field of your phone's configuration interface:

Now re-send the profile, which causes the phone to reboot (provided it already registered with sipX).

Typcial logo files should be between 5kB and 10kB.

Note: 7940/7960 phones display two colors at 2-bit depth, or four solid colors. For best results that do not dither and degrade, use #000000 (black) and #FFFFFF (white or clear on the LCD display), then #404040 (grey) and #808080 (dark gray) as your alternate solid colors (or as the antialiasing colors for excellent results).

Customize the Phone Label

If you want your company name displayed on the right side of the first line of the phone's display, add a string into the field for phone_label on the Phone parameters screen.

External Directory Service

The Cisco 7940 / 60 phones have a Directory button. If a proper address is configured for the parameter Phone parameters / directory_url in the Configuration Server Web interface, the phone will attempt to load a file called directory.html.

The sipX Configuration Server can serve this file to the Cisco phones. Store the file in the docroot directory on the sipX server at /var/sipxdata/configserver/phone/profile/docroot. Make sure it has read permissions for everyone. The following URL then has to be configured into the directory_url parameter:

*Format of the directory.html
Cisco uses a concept they call XML cards to provide additional information to the phone. You can access XML cards on your phone in any of the following ways:

  • Select the Services button (configured by means of the services_url parameter).
  • Select the External Directory button (configured by means of the directory_url parameter).
  • Download a bitmap to be used as the phone logo (configured by means of the logo_url parameter).
 <CiscoIPPhoneDirectory>
  <Title>IP Telephony Directory</Title>
  <Prompt>People reachable via VoIP</Prompt>
  <DirectoryEntry>
  <Name>Bob</Name>
  <Telephone>200</Telephone>
  </DirectoryEntry>
  <DirectoryEntry>
  <Name>Rob</Name>
  <Telephone>201</Telephone>
  </DirectoryEntry>
  <DirectoryEntry>
  </CiscoIPPhoneDirectory>

Note: Up to 32 entries are possible in this way. More information is available in the Cisco SIP manual.

Phone Dialplan

At startup the phone also looks for a file dialplan.xml in the TFTP root directory. Such a file is not necessary and currently the sipX Configuration Server does not use this feature and therefore does not generate such a file.

If you need to modify the phone's dialing behavior you could manually create such a file and place it into the tftproot directory of the sipX server. The file dialplan.xml has the following format:

 <DIALTEMPLATE>
 <TEMPLATE MATCH="0" Timeout="3" /> <!-- Local operator-->
 <TEMPLATE MATCH="011*" Timeout="6" /> <!International calls-->
 <TEMPLATE MATCH="00" Timeout="3" /> <!-- LD Operator-->
 <TEMPLATE MATCH="0.........." Timeout="3" /> <!Operator assisted-->
 <TEMPLATE MATCH=".11" Timeout="1" /> <!-- Service numbers -->
 <TEMPLATE MATCH="101....1.........." Timeout="1" /> <!-- Equal Access Service-->
 <TEMPLATE MATCH="1.........." Timeout="0" /> <!-- Long Distance -->
 <TEMPLATE MATCH="......." Timeout="0" /> <!-- 7 Digit Dialing -->
 <TEMPLATE MATCH=".........." Timeout="0" /> <!-- 10 Digit Dialing -->
 <TEMPLATE MATCH="9.........." Timeout="0" /> <!-- 9+dialing -->
 <TEMPLATE MATCH="...." Timeout="0" /> <!-- Extension Dialing 4 Digits -->
 <TEMPLATE MATCH="....." Timeout="0" /> <!-- Extension Dialing 5 Digits -->
 <TEMPLATE MATCH="*" Timeout="15"/> <!-- Anything else -->
 </DIALTEMPLATE>

Custom Ringtones

Ringtones for the Cisco 7960 / 7940 can be customized fairly easily. Add the file ringlist.dat to the TFTP root directory of your sipX server (read permission for everyone).

Using an ASCII text editor open the RINGLIST.DAT file. For each ring type that you are adding, specify the name as you want it to appear on the Ring Type menu, press Tab, and then specify the filename of the ring type. Your RINGLIST.DAT file should appear similar to the following:

Ring Type 1 ringer1.pcm
Ring Type 2 ringer2.pcm

Now create a pulse-code-modulation (PCM) file for each desired ring type and store it in the root directory of your TFTP server. PCM files must contain no header information and must comply with the following format:

  • 8000-Hz sampling rate
  • 8 bits per sample
  • mu-law compression

Multiple lines and Call Waiting

If you have 2 or more lines registered and you are currently on line and you receive an incoming call, to can setup you phone to automatically reject the second line OR recieve call waiting beep on the active line (with the first caller) and the second line can then be answered by hitting the second line button.

To control this behavior, change the following setting:

Firmware Upgrades (7940 / 7960)

How to view the current firmware version?

Using the phone top interface:

  1. Press the settings key. The Settings menu is displayed.
  2. Highlight Status.
  3. Press the Select soft key. The Setting Status menu is displayed.
  4. Highlight Firmware Versions.
  5. Press the Select soft key. The Firmware Versions panel is displayed.

    The following information is displayed on this panel:
    ' Application Load ID ' Current software image on the phone.
    ' Boot Load ID ' Bootstrap loader image version that is manufactured on the phone.
    This image name does not change.

Cisco Firmware Releases

Cisco firmware updates are only available to Cisco customers with a valid maintenance contract (service agreement). You can try this: When asked for a user name / password enter "anonymous" and an email address as the password.

There are some issues reported with release 7.5 and we therefore recommend to currently stay with release 7.4.

Firmware Upgrade Procedure

The firmware upgrade procedure is significantly easier to do using the sipX Configuration Server. Instead of manually editing configuration files (as proposed by Cisco), the new firmware version you want to install on your phone can be entered into the Web user interface of the sipX Configuration Server. The phone's configuration profile is then automatically regenerated and the phone reboots. The only operation that is still manual is that you have to store the new firmware file in the tftproot directory of the sipX server. This step will be automated in the next version of the sipX system.

  1. Copy the binary file P0S3xxyy.bin (where xx is the version number and yy is the subversion number) to the root directory of the sipX TFTP server (/var/sipxdata/configserver/phone/profile/tftproot).
  2. Using the sipX Configuration Server go to the device management screen of your phone, or if upgrading a group of phones go to the group device management screen.
  3. Select Upgrade Parameters.
  4. Update the parameter image_version. The version name in the image_version variable should match the version name (without the .bin extension) of the latest firmware that you downloaded.
  5. Select Send profile. This creates a new profile and provided the phone is currently registered with the sipX server it will automatically reboot each phone.

The phone contacts the TFTP server and requests its configuration files. The phone then compares the image defined in the file to the image that it has stored in Flash memory. If the phone determines that the image defined in the file differs from the image in Flash memory, it downloads the image defined in the configuration file (which is stored in the root directory of the TFTP server). Once the new image has been downloaded, the phone programs that image into Flash memory and reboots.

Factory Reset Cisco Phones

If a Cisco phone phone was previously running SCCP and connected to a Cisco Call Manager it may be necessary to factory reset the phone.

Reset the 7940 and 7960 IP Phones to the Factory Default

In order to perform a factory reset of a phone if the password is set, complete these steps:

  1. Unplug the power cable from the phone, and then plug in the cable again.
    The phone begins its power up cycle.
  2. Immediately press and hold # and while the Headset, Mute, and Speaker buttons begin to flash in sequence, release #.
    The Headset, Mute, and Speaker buttons flash in sequence in order to indicate that the phone waits for you to enter the key sequence for the reset.
  3. Press 123456789*0# within 60 seconds after the Headset, Mute, and Speaker buttons begin to flash.
    If you repeat a key within the sequence, for example, if you press 1223456789*0#, the sequence is still accepted and the phone resets.
    If you do not complete this key sequence or do not press any keys, after 60 seconds, the Headset, Mute, and Speaker buttons no longer flash, and the phone continues with its normal startup process. The phone does not reset.
    If you enter an invalid key sequence, the buttons no longer flash, and the phone continues with its normal startup process. The phone does not reset.
    If you enter this key sequence correctly, the phone displays this prompt:
    Keep network cfg? 1 = yes 2 = no
  4. In order to maintain the current network configuration settings for the phone when the phone resets, press 1. In order to reset the network configuration settings when the phone resets, press* 2*.
    If you press another key or do not respond to this prompt within 60 seconds, the phone continues with its normal startup process and does not reset. Otherwise, the phone goes through the factory reset process.

Reset the 7941 and 7961 IP Phones to the Factory Default

Complete these steps:

  1. Unplug the power cable from the phone, and then plug in the cable again.
    The phone begins its power up cycle.
  2. Immediately press and hold # and while the Headset, Mute, and Speaker buttons begin to flash in sequence, release #.
    The line buttons flash in sequence in order to indicate that the phone waits for you to enter the key sequence for the reset.
  3. Press 123456789*0# within 60 seconds after the Headset, Mute, and Speaker buttons begin to flash.
    If you repeat a key within the sequence, for example, if you press 1223456789*0#, the sequence is still accepted and the phone resets.
    If you do not complete this key sequence or do not press any keys, after 60 seconds the Headset, Mute, and Speaker buttons no longer flash, and the phone continues with its normal startup process. The phone does not reset.
    If you enter an invalid key sequence, the buttons no longer flash, and the phone continues with its normal startup process. The phone does not reset.
    If you enter this key sequence correctly, the phone displays this prompt:
    upgrading