Minded Systems

Configure Cisco IP Phones with Asterisk using SIP

With VoIP technology growing so rapidly, the marketplace so too has an ever growing selection of hardware options available for system implementations. The Cisco IP Phone series has solidified its position in the community as the leader of high quality and reliable hardware with feature rich firmware and a good range of supported protocols. Superb call quality, a large easy-to-read display screen and user-friendly button layouts/designs make the Cisco phone models of old and late some of the best hardware available for IP-based phone systems. However, for all their outstanding advantages, configuring these phones to work with a non-Cisco managed VoIP network can be a bit of a chore. To further complicate this task, the information available on configuring the newer and more user-preferred devices (touch screens, color backlit display, etc.) is extremely sparse and largely unconfirmed.

After heading up the deployment of 3 small Asterisk based PBX deployments, all of which were to make use of various different Cisco IP Phone models; a great deal of information about these phones has been collected. From that information, the steps to configure the following phone models has been confirmed: 7940, 7960, 7945, 7965, 7970, and Communicator (softphone). A Cisco 7975 was not available for testing, however, the 79X5 models have standardized configuration templates and the information for these units should apply (We are still trying to acquire one to confirm this). One of the most valuable and available resources in setting up systems has been peer communities. Both local and online resources will assist in working the kinks out of your system. Also, bookmark voip-info.org. A large number of Asterisk / Cisco configuration issues are identified and often fixed here. I’d also like to give a special thanks to Sean Walberg for suggesting Wireshark (tshark) for helping to debug connection and other TCP/IP issues (along with an immense amount of guidance and other troubleshooting tips) and to Angel Castaneda for always providing helpful suggestions to get me pointed in the right direction. Now, with the introduction out of the way, let’s begin.

1) Asterisk

The first component of the system will obviously be the Asterisk IP PBX server. For the sake of this guide I’m going to assume that this has been installed on a server with default settings. If assistance is required in getting an Asterisk server setup or configured with defaults, please consult one of the several sites on Asterisk assistance.

The system that was used for the making of this guide is a turn-key installation package as distributed by AsteriskNOW. The AsteriskNOW install is a complete installation package available for free that runs off of the CentOS Linux distribution. It comes pre-configured with a working asterisk installation (with all major / common libraries installed) and the FreePBX GUI for administering the Asterisk server via a web interface.

For more information on this customized distribution, please see the AsteriskNOW Homepage.

2) TFTP Server

A TFTP (Trivial File Transfer Protocol) Server is not normally required for the setup of an Asterisk IP PBX. The Cisco IP Phones require configuration files downloaded from a TFTP server for their internal settings. We will get into the configuration files later, for now we will just be setting up the TFTP server.

The first step is to connect to the Asterisk server via SSH as root. Once connected to the server, install the TFTP software:

yum install tftp-server

The TFTP server is an ‘xinet’ application and therefore xinetd will also need to be installed if it is not already. (AsteriskNOW installs xinetd by default). By default, the folder used by the TFTP server is /tftpboot. Changing this is not necessary.

Once installed run the following commands to ensure that both xinetd and the TFTP server are initialized on server startup:

chkconfig xinetd on
chkconfig tftp on

NOTE: The TFTP server for the Cisco IP Phones can be located on a different server if desired. I chose to install it on the same server as Asterisk for 1) simplicity, and 2) to ensure the system was self-contained. If the TFTP is on a different address, ensure that the appropriate IP address is used when referring to the TFTP server for the remainder of the process.

Cisco IP Phones using SIP firmware will use DHCP-option (port) 69 for connecting to the TFTP server and obtaining its configuration. Phones loaded with firmware that makes use of a Cisco Call Manager application (usually SCCP or MGCP) may look for configuration information on port 150 (the TFTP port used by the CCM).

3) Firmware

All Cisco IP Phones have several different types of firmware available. Each type of firmware is programmed to support a different VoIP protocol. The three supported protocols are SCCP or ‘Skinny’, SIP (Session Initiation Protocol), and MGCP. The protocols that are most commonly seen in system deployments are SIP or SCCP.

The firmware that is distributed by Cisco is a licensed software product, and as a result, Cisco requires that a license be purchased and verified before allowing downloads. Although not “legally” permitted other firmware downloads can often be found through creative internet searching.

In addition to the three supported protocols, there are also several different versions of each firmware. In most cases it is recommended that the most recent version of firmware for the needed protocol be used. Older firmware will usually work, but often with limited functionality. A helpful note when phones have issues upgrading their firmware; downgrading the firmware before upgrading will often load the newest versions when direct upgrades fail (eg. Phone currently with SCCP 8.x: if unable to upgrade to SIP 8.x directly, loading SIP 7.x or SCCP 7.x before upgrading to SIP 8.x). Multiple downgrades / upgrades may be needed to load the proper firmware version.

The Cisco IP Phone firmware is organized differently depending on the model of phone being used. XML configured devices (7970, 7945, etc.) can make use an archived firmware file (.cop) or its un-archived version. The un-archived firmware consists of several files with varying extensions. All firmware will have an application loader file that directs the downloading of the software. It is identified by the protocol it provides, the phone model it is for, and the version of its firmware with a .loads file extension (eg. SIP70.8-4-2S.loads: SIP = protocol, 70 = model 7970, version = 8.4.2S). The second format of firmware is for the 7960 / 7940 or non-XML phones. These devices make use of a pair of files for its firmware. The files are named by similar convention; identifying protocol and version. This firmware format is not device specific so the same firmware can be used on both the 7960 and 7940 (eg. P0S3-8-12-00.sbn: S = SIP, 8-12-00 = version).

All of the firmware files that are going to be used will need to be placed in the directory being used for the TFTP server (usually /tftpboot). It is recommended that firmware in .cop file format be un-archived and uploaded as its individual files. This can be done by simply renaming the .cop file to a tarball archive (.tar) file and then extracting the files it contains. Once all the necessary firmware for the phones being used has been placed on the TFTP server, configuration files will complete the setup.

4) Global Configuration Files

Anyone setting up an Asterisk PBX with Cisco IP Phones will quickly discover that there are several different models available. In this guide a variety of models will be discussed, all of which have been successfully configured and confirmed as working. To my knowledge, all of the major Cisco IP Phone models are able to work with an Asterisk server in some capacity.

*DISCLAIMER: only confirmed working units will be discussed, ability of other models to work is pure speculation.

In searching the internet for information on configuring Asterisk with Cisco IP Phones, a great deal of the information available is for the Cisco 7960s and 7940s. These seem to be the most commonly used models with Asterisk IP PBX servers. Both of these models use the same firmware and near identical configuration files. The Cisco 7960 provides 6 programmable lines where the 7940 provides only 2.

The Cisco 7914 is an expansion module available for the7960 and the 7940 that adds additional line capacity. Currently a 7914 unit is unavailable to test and confirm setup information with. Current information indicates that this should work without

Although seen less commonly, the Cisco 7965 and Cisco 7945 are similar in physical appear with some more advanced functionality and a full color display screen. Additionally, these models make use of more advanced XML configuration templates instead of text based data. Specifics on these configuration methods will be discussed later.

Last are the Cisco 7970 and IP Communicator. The Cisco 7970 is beginning to see some increased popularity among Asterisk deployments. The 7970 offers a full color touch screen display, 5 soft keys (1 more than its predecessors), and 8 programmable lines. The Cisco IP Communicator is the software phone that is compatible with the Cisco IP Phone networks. The Communicator software is modeled after the 7970; using the same configuration files, the same firmware, and even having the same visual appearance as the physical units.

Each group of phone models is slightly different although the main functions provided by all units are the same. It should also be pointed out that the SIP firmware for these phones is NOT perfect. The firmware does have limitations, although new versions seem to have near complete functionality.

Regardless of the model(s) of phones used in the deployment, there will be a few files required for configuration. In general, most Cisco IP Phones will require an application loader (txt) file, a generic configuration file, a dialling plan, a ringer list, and a phone settings file. The application loader file, generic configuration file, dialling plan and ringer list can all be re-used for every phone on the system to simplify deployment. For the sake of this guide, we will assume these files are being re-used.

i. OS79xx.txt

OS79xx.txt is a one line text file that is needed for the application loader during boot of the Cisco 7960 or 7940 phones. The one line of text contained in this file is the filename of the firmware that these phones are to make use for connection. This file is not used for any of the phones that make use of XML configuration files.

Example OS79xx.TXT

ii. XMLDefault.cnf.xml

The XMLDefault.cnf.xml is the base file for global settings for all of the Cisco IP Phones to be used. This file will also contain the general information on firmware to use for the various different IP phone models. An example file is as follows:

The main section of this generic configuration file is its application loader assistance. The various different <loadInformation>…</loadInformation> tags are used by the application loader to determine which firmware each device will download and apply.

iii. SIPDefault.cnf

SIPDefault.cnf is another very important configuration file for specifying global settings. The SIPDefault.cnf file is only used by the older model devices (7960, 7940, etc.).

The first section of the configuration file is the most basic of items that the devices will need. This includes the firmware to use, the server(s) to connect to, and the port(s) on which to connect. Although not entirely tested, research has shown that the configuration will support at least 6 listed addresses.

The second section regarding failover locations and advanced call handling servers is not required for the phones to work but can be used to configure advanced functionality.

The NAT and firewall settings should be altered to suit the network that the server is on. Common practices will generally leave NAT disabled and only enable it on the phones that will require NAT traversal. This function is enabled in the device specific configurations that will be covered later. A NAT address does not need to be specified. The media ports do not need to change unless the network does not allow the default ports to be used. However, it is recommended that these ports be changed to non-default ports to increase in server security. If dynamic DNS is not being used, its settings should be left blank. It is recommended that the IP address of the TFTP server be entered into the dynamic TFTP location to ensure the devices do not default to their local firewall for the TFTP connection.

For server registration settings, the defaults will work fine in most cases. The main concern in this section is to ensure that proxy_register is set to “1”. This will require the IP phones to authenticate to the server before being allowed to use it. The telnet_level should be changed to suit the systems needs and disabled if not necessary (default of 2 is privileged, requiring a username and password; 1 is openly enabled). This section will also specify the dialplan XML file to use. Enter the name of the XML file that contains the dialplan information without the .xml file extension.

Some access to basic calling features can also be specified in the SIPDefault.cnf file. These include things like the Do-Not-Disturb and Call Waiting features. Enabling or disabling these features merely controls the users’ access to the feature via their IP phone; the features themselves need to be enabled in the Asterisk server in order to be used by the phones.

The QoS and SIP protocol settings are used to specify timings and levels for various different internal functions of the Cisco phones. The default settings for these items will work fine for most situations; advanced users may want to change these after consulting the Cisco documentation on them.

In the date and time settings, a time server is for the phones to use. There are several publicly available time servers that can be used for providing the time to the Cisco phones or a local time server can be specified if preferred. Additionally, the time_zone and time_format_24hr need to be specified. The settings for time_format_24hr are ‘0’ for 12hr format display and ‘1’ for 24hr formatting. If the location of the system is in time zone that makes use of daylight savings time, these settings can also be inputted.

The last group of settings is the additional function keys provided on Cisco IP Phones. These are keys for quick access to messages, services and directory listings. These do not need to be specified but do allow for very useful extra functions to be added to the phones (Another document is planned for explanation of the services XML structure used by Cisco). In addition, a logo can be provided here as well. The logo must be in BMP file and no bigger than 90×56 pixels. Larger images will be resized as best the software is able. For best results use colors a 4 color palette of #ffffff, #000000, #404040, and #808080.

If a proxy server will be needed for making external HTTP requests, this can be specified as well using the http_proxy_addr and http_proxy_port variables.

iv. dialplan.xml

The dialplan.xml file is a simple file that has very limited purpose. The XML contained in this file holds information on the timeouts for various different patterns of dialled numbers.

Example dialplan.xml

v. RINGLIST.DAT / ringlist.xml

The ringlist file is another file that contains very little data, but is recommended for configuration (even if empty). The ringlist.dat file is responsible for providing the Cisco 7940s and 7960s with knowledge of what ringtones are available to them. These ringtones provided to the phones will also need to be uploaded to the TFTP server. (Ringtone audio files must be in .raw or .pcm file format.)


The ringlist.xml file provides the same functionality for the newer XML based Cisco phones. The same file audio files can be used; the structure needs to be altered to the Cisco XML standard.

Example ringlist.xml

vi. List.xml (optional)

An optional configuration file that is only applicable to the XML based phones, List.xml provides the Cisco phones with color screens with background display images. Each <ImageItem> contains two properties, one for the thumbnail location (Image) and the other for the full sized image location (URL). The subfolder in which things are contained IS important. For the Cisco 7975, 7965, and 7945; all images and the List.xml file must be placed in Desktops/320x212x16/ within the TFTP server’s root folder. The Cisco 7970 and 7971 will look for this information in Desktops/320x212x12/. As the folder names suggest, background images should be 320×212 pixels in size. The last number of the folder name is the color depth supported by the phone screen, however the phone software will adjust this on its own to suit its display. Thumbnail images should be sized to 80×53 pixels.

Example List.xml

5) Device Configuration Files

Due to differences in the firmware of the different types of Cisco IP Phones, there are also differences in the device specific configuration files. Upon switching to standardized XML tags, newer model Cisco phones are now configured purely with XML files while the older models used combination of XML and text data files to provide all the configuration information. For the models discussed here, all XML device configurations are named SEPxxxxxxxxxxxx.cnf.xml and text data configurations are named SIPxxxxxxxxxxxx.cnf where ‘xxxxxxxxxxxx’ is replaced with the MAC address of the phone that the configurations belong to (ensuring that any alphabetical characters are uppercase).

eg. Phone MAC Address 0123456789AB would use config files:
SIP0123456789AB.cnf (if required by device)

In terms of the models discussed in this document, only the Cisco 7960 and 7940 models will use a SIP.cnf file in addition to its SEP.cnf.xml file. All other devices are configured with an SEP.cnf.xml file only.

The Cisco IP Communicator follows the same rules for acquiring its configuration file. By default the softphone will use the primary network device and its MAC address to create the ‘Device Name’ the SEP filename. To specify a different ‘Device Name’ to use when pulling the configuration for the software, right-click anywhere on the softphone and select “Preferences…”. In the Preferences window select the network tab and alter the ‘Device Name’ section as required. This is also where the TFTP server can be specified for the Communicator software.

7940 / 7960

As indicated earlier, a large volume of information is available on configuring the 7960 and 7940 models. These phones make use of only two configuration files and being the simpler of the two files, the SEP file will be reviewed first. This file ensures that the phone’s application loader will find and apply the correct firmware for the phone.

The only two settings required in this file will be obvious settings; the first to specify that the phone will be using the SIP protocol, the other to provide the filename of the firmware the phone will need.

The second component of the configuration is the SIP.cnf file. This file specifies the actual SIP settings for the phone.

The first few lines of the configuration make up a list of PBX servers that the phone will attempt to register with (in the order listed). The configuration is known to accept at least 6 addresses, however only one is required.

The second section is the SIP settings for each line extension. The lineX_name and lineX_authname will both be set to the extension number that will be used for that particular line. The lineX_password is the registration secret password set for the extension that is being registered. This password is set in the Asterisk server extension settings. Display name is the callerID display name that is sent out from the phone (this is usually overridden by Asterisk). Lastly, the lineX_shortname is the text that will appear on the Cisco IP Phone screen next to the line button being programmed. The example configuration file above is for a Cisco 7960. The same file can be used for a 7940 by removing lines 3 through 6.

Additional proxy information can be specified for failover and advanced call handling. This is done in the section of the configuration for backup, emergency, and outbound proxy addresses. These settings are not necessary, leaving them blank is fine. If these settings have already been defined in the global SIPDefault.cnf, these should not be included in the device configuration files.

The next component is the NAT and firewall sections. The NAT enabling will depend on the configuration of the system. NAT should only be required if the phone is going to be connecting to the Asterisk server through an internet connection from an external network, and will have nat_enable set to 1. Phones connecting on the local network will have nat_enable set to 0. Even if NAT is enabled, a NAT address does not need to be specified. Firewall ports are also specified here. The VoIP control port is the port that the phone will communicate to the Asterisk server on. The standard control port of Asterisk extensions is 5060 although this can be changed for each extension, so be sure to confirm the port used by the extensions being registered. The media port start and end specifies the range of ports that will be used to transmit the realtime audio of a conversation to the phone. It is recommended that this be changed from its defaults to a port series that will not affect other local network communications. It is also important that the media ports provided match the ones specified in the Asterisk server settings.

The display settings contain information regarding the display screen on the phone. The phone_label refers to the text displayed in the top bar on the right hand side of the phone screen (It is recommended a space is placed after the phone label text for visual padding from the ‘SIP’ icon). The time_zone will cause the time from the network time server to be formatted and converted to reflect the time zone specified. A background can also be specified as well by adding a value for logo_url. As before, the logo must be in BMP file and no bigger than 90×56 pixels. For best results use colors a 4 color palette of #ffffff, #000000, #404040, and #808080. Specifying a logo_url in a device configuration file will override any logo that has been specified in the SIPDefault.cnf file.

The telnet settings make the phone accessible via telnet from computers. By default telnet_level is set to ‘0’ or disabled. The setting supports two operating modes. Mode ‘1’ is open availability to the phone via telnet with no username or password required. The second mode is ‘2’ for privileged. The privileged mode is recommended, and requires that the next two settings; phone_prompt and phone_password, be set.

7945 / 7965 / 7970 / Communicator

For purely XML configured devices, the SIP.cnf file will not be needed. The single XML file contains all data for the phone that it pertains to, using the same MAC address file naming as the SIP files.

Obviously these files are very complex in terms of the settings being specified. In this guide only the necessary settings will be discussed. More information is available on all the settings and their specifics, most reliably from Cisco’s documentation on their website or from any number of other helpful VoIP support sites.

The first important section to modify is the date and time settings. If desired, the format of the date display can be altered however, this is not necessary. The time zone does need to be modified to reflect the local time zone in the <timeZone>…</timeZone> tags. A complete list of acceptable entries is available in the Cisco documentation. The other important item to change in this section is the location of the date / time server to use to maintain the phone’s clock. This is done in the <name>…</name> tags under the <ntp>…</ntp> subsection. If a server is maintained locally this can be used, otherwise a number of publicly available servers can be found on the internet.

The <callManagerGroup> section contains information about the server that manages the call handling. In this case that will be the Asterisk server that is being used. The IP address of the server should be entered into <processNodeName>…</processNodeName>. If the device is going to connect to the server on a non-standard port, those settings should also be changed. Additionally, the <sipProxies> section allows for more advanced call handling proxies to be specified. These can be left blank if not being used.

The next two groupings of settings, <sipCallFeatures> and <sipStack>, can usually be left unchanged, unless some specific advanced functionality is being setup. If these settings are being modified, be sure to check the Cisco documentation for more details on them.

<phoneLabel>…</phoneLabel> is the next item in the configuration file that could use modifying. This text is used to as the display in the top right corner of the screen on the phone.

Moving down the configuration to the <sipLines> group, this is where the provisioning of the phone lines will be done. This is where the configuration gets more useful and interesting. The newer model Cisco phones that are configured using the SEP.cnf.xml files have the ability to have the lines programmed for various different functions. Each type of functionality that can be assigned has a corresponding <featureID></featureID>. For an ordinary SIP extension, <featureID>9</featureID> would need to be used. To assign the line to function like the XML services button, <featureID>20</featureID> would be needed. The <featureID></featureID> is the primary part of the line configuration. All other defined items for the line will be determined by the <featureID></featureID> is given (Currently an appendix of these featureID’s and their subsequent requirements is being compiled).

Following the configuration of the line buttons, some additional ports can be specified. In this section, it is recommended that the <startMediaPort></startMediaPort> and <stopMediaPort></stopMediaPort> be modified to match with the settings being used by the Asterisk server.

The remainder of the configuration file does not usually require modification with the exception of the various service URLs that can be provided (if desired). These are optional items that would be linked to XML generating scripts or XML files (in the Cisco Services XML Standard).

5) Upload And Test

After preparing the needed configuration files, upload all of them to the TFTP server created earlier. Once all files have been uploaded connect the phone to a local network port and power. The phone will run though its boot sequence. If everything has been done correctly, the phone will look for the firmware it has been directed to use and download if necessary, request its configuration files and apply the downloaded configurations.

As the phone boots it is often useful to watch the output of the Asterisk server as well as the network packets received by the server using the “tshark” applicaion mentioned earlier. These two collections of information should be of great assistance for any troubleshooting that needs to be done after.


Many of the Cisco phone units have different slightly different model numbers based on slight manufacturing differences (eg. Information pertaining to the 7960 also applies to 7961, 7960G, and 7961G). This is the same for most of the Cisco phone model series.


Asterisk: http://www.asterisk.org

AsteriskNOW: http://www.asterisknow.org

FreePBX: http://www.freepbx.org

VoIP-info: http://voip-info.org

Wireshark: http://www.wireshark.org/

Cisco Systems: http://www.cisco.com/

Please leave any questions or comments below. Any issues in understanding the material provided can be sent and we’ll do our best to assist in clarifying. If there are any errors in this document, please advise us of the corrections needed. Thanks.

I have successfully setup a central voicemail server system based on asterisk with multiple remote physical location PBX servers. MWI works for Cisco phones (as far as i’ve tested so far). Putting together some information on this and hope to have it available soon.

December 21, 2009 Tyler Winfield

I am having problems with my 7970 talking with my asterisk server even after using all your configurations I’m getting a 401 bad auth error. I have tried searching online about the md5 encryption but nothing useful yet. Please help. However the 7960’s are working well.


January 5, 2010 Raymond Szeto

The 401 auth error is referring to the asterisk login information the phone has been given in the SEP file. Both <Name></Name> and <AuthName></AuthName> should be set to the extension number, and <AuthPassword></AuthPassword> should be set to the secret for that extension that you’ve setup in asterisk.

January 7, 2010 Tyler Winfield


I am trying to use a 7970 to connect to a Gizmo5 account. Any idea what changes would need to be made to the SEP file for this to work? Specifically, what needs to go in the section?

Also, where do you input the STUN server info?


January 21, 2010 Robbie

Sorry, never worked with Gizmo5 or Google Voice (new owner of Gizmo5) as I’m in Canada. But, here’s what I was able to gather in the last hour or so of looking around. Several resources indicate that almost all Cisco phones do not directly support STUN.

“Does not support STUN (Outside NAT address can be configured though via TFTP.)”

This seems to be the general statement about the Cisco IP Phones (starting with 7940/7960s, so all of them probably). However, it does seem as though a basic asterisk server can create a trunk to a Gizmo5 account and do the NAT routing necessary. Most seemed to lean towards port forwarding or DMZ solutions though.
May want to start here:

January 22, 2010 Tyler Winfield

I have a problem with a cisco 7940. I flash it with the 8.12 firmware. I make the file based with your files and i have this error: registration from failed for ACL error (permit/deny).
I have search in the phone with the debug and i see an error sip 2.0 404

January 25, 2010 Glidic Anthony

that sounds to me like you’ve done most of the actual phone setup properly. the “ACL” is almost certainly an Access Control List. also “registration from failed” should probably actually say “registration from XXXX failed” where XXXX is the extension your trying to register. Almost appears as though the phone is not sending the correct extension/username information. In the config file ensure that both the lineX_name and lineX_authname are set to the extension number you are trying to register. I’d also recommend having wireshark or tcpdump running while the phone starts up as well, this may give you an idea of where the request fails.
Also be sure to reload your sip configuration or restart your server to ensure that that all the current settings are being applied. (I know this sounds obvious but it often fixes my minor issues like this)

January 25, 2010 Tyler Winfield

in my messages log the exact error was: Registration from ‘sip:299@172.16.xx.xxx’ failed for ‘172.16.xx.xxx’ -ACL error (permit/deny)
with 172.16.xx.xxx my phone ip, 299 the extension and 172.16.xx.xxx my asterisk ip.
I try with many different files but i stay with this error.
And the weird thing is i can make a call but i not receive them

January 25, 2010 Glidic Anthony

Thanks that’s work now. Just a litlle error on the line_authname

January 25, 2010 Glidic Anthony

I am trying to configure the speed line buttons using these lines in the device config line but the device doesn’t accept it.

I tried with or without “”. Nothing seems to work.

speed_line2: 12121234567
speed_label2: Home
speed_line3: 16311234567
speed_label3: Work
speed_line4: 01144123456789
speed_label4: London
speed_line5: “0118612345678”
speed_label5: “China”
speed_line6: “19171234567”
speed_label6: “John”
Any ideas?

February 2, 2010 Gil

Bear in mind, i’ve NEVER used these nor even included them in my configurations, but based on knowledge of other parts of the configuration file I’ll take some stabs at it at least.

First, have you tried deleting the speed_line1 information? on a 7960 if you put a SIP line on line 1, leave line 2 config blank, and program line 3 (just for spacing of buttons perhaps), the blank in line 2’s settings causes the phone to stop looking for more lines to setup, so line 3 doesn’t even show up. The same thing may be happening here. Also, i would include the quotes in all your settings, just to be safe. Those seem to be “the norm” for these files.

Also, try setting up the lines to speed dial local extensions for your testing, just to ensure its not an outbound route problem or anything like that.

Hope that helps, and please let me know if/when you find your solution.

February 2, 2010 Tyler Winfield

I’ve continued looking for a solution to your problem and I think I may have found it. In the Cisco documentation on the 7940/7960 SIP config files, the following is written about the speed_labelX and speed_lineX parameters. (see http://cio.cisco.com/en/US/docs/voice_ip…istration/guide/sipaxd80.html)

(Optional) Configures the speed-dial key label. The x variable is from label 2 to label 6. There are five possible labels that can be configured on the Cisco IP 7960G but only one on the Cisco IP 7940G. The x variable is a string of up to 15 characters.

Note This parameter cannot be set in the configuration file.

Not really a ray of sunshine but at least answers why the attempts seem to be failing.

March 26, 2010 Tyler Winfield

Thanks for the great walk thru, I had to go thru a few more steps to get my Cisco 7910 to work, but this was a great starting point. Thanks again!

February 26, 2010 Ivan

Congrats Ivan and thanks for the info. Glad you got everything up and running!
I’m hoping to get some information from you about what other steps you needed to go through to get these models working so that I can add that to the documentation here. I’ll send you an email regarding that.

February 26, 2010 Tyler Winfield

Hi, I found this guide very helpful but am quite stuck in some part…

Can you make the 7910+S/W to work as a SIP?, I can only make them work in SCCP.

When I try to use SIP it register and it show on the screen the server name an all that (while is registering) then it leaves me with no dial tone and with a not useful phone at all.

I have something like this on my SIP.cnf

line1_name: “500”
line1_shortname: “500”
line1_displayname: “500”
line1_password: “A1B2C3D4”
line1_authname: “500”

* Do I need to add more Variables ???

In asterisk I have the 500 extension as SIP, in SCCP.conf (I use chan_sccp module) I have the phone MAC and all the info set (otherwise it will not allow to register the phone), also am Using “P004-05-7-00” does it mean that I have to switch to “P0S3-8-12-00” ??
thanks in advance for any help you can provide.

March 7, 2010 PCasado

Oh Sorry, I just read on Cisco website that there is no SIP firmware for this phones….

Cisco Unified IP Phone 7910 Firmware:

SCCP: P00405000700

March 7, 2010 PCasado

Yes, thats correct, there is currently no SIP firmware available for the 7910 or 7920 model. I suggest trying to get your hands on a 7940 or better anyway as the added functionality of the XML services objects is hugely useful for all sorts of applications.

March 7, 2010 Tyler Winfield

I’ve been able to get a copy of the Cisco IP Communicator v. 2.0.1 and connect it to asterisk via SIP. I’ll put together some info and add it in the next couple of days for those who are interested.

March 10, 2010 Tyler Winfield


I would be very interrested in your steps in getting the Cisco IP Communicator working with SIP. I have been working with it for several days and cannot get past “Registerring”.

March 18, 2010 Bill Nosie

If it got to the point of trying to register, then the configuration is happening but its not able to authenticate to asterisk.

Check that extension # and secret are correct in all places of the configuration file and match those stored in asterisk. Also ensure the extension has nat=no and qualify=no. If none of that works, start looking tcpdump or wireshark output along with the asterisk CLI output.

March 19, 2010 Tyler Winfield

It was the nat and qualify settings in Asterisk. Both were set to yes. Changing them to no fixed it.


March 19, 2010 Bill Nosie

Hi.I’m an Italian Student.Please…help me…
I’m working with the cisco ip phone 7940 of my university (Federico II University of Naples) and i have followed this great guide.but when the files are being downloaded from the root tftp server the phone show this message Load ID Incorrect and the phone doesn’t download all the files…it download only OS79XX.txt and the SEPmacadress.cnf.xml file.
Please Help Me for my exam…i am a newbie…

April 26, 2010 Giuseppe

@Giuseppe try running wireshark or tcpdump on the server with the TFTP server. this should give you a read out of which files get requested and if the transfers complete. This should make your next troubleshooting step more obvious. Does it get stuck transferring the SEP file? Does it complete the transfer of the SEP file and get stuck requesting the next file? is it stuck requesting a file that doesn’t exist on the TFTP server? etc.

If its stuck on a file that does not exist, you’ll probably need to add that file. If it gets stuck on a file that does exist, its very likely a parsing error (extra characters that don’t belong somewhere in one of the files).
See if any of that helps.


April 26, 2010 Tyler Winfield

The document states that a 7941 uses the same config as a 7940.

This is not accurate. 79×1 phones where the first to support XML type configuration instead of flat file.

May 2, 2010 SkykingOH

@SkykingOH you are very correct the 7941s and i’m sorry, i’ve triple checked the entire doc and can’t find reference 7941 or 79X1 models at all. Only ones i referenced were 79X0s and 79X5s (except the 7975). I haven’t been able to get a 79X1 to test things with, but as i understand it is simply a non-color screen version of the 79X5s. I did add a small piece about the 7914 if perhaps on glance that was mis-read as 7941. If I’ve simply missed it in my many checks or my wording is unclear somewhere, please let me know so I can make necessary corrections.


May 3, 2010 Tyler Winfield

Hi Tyler,

Thanks for the excellent article. Very helpful indeed. I have been trying to get a very newish Cisco 9971 registered and working with my trixbox. So far no joy I’m afraid. I have managed to get the firmware updated (although I had to point the phone to the TFTP server on my laptop as the TFTP sever on trixbox had a BLKSIZE issue with one of the firmware files – it was 34MB though).

I can see that the phone is requesting the following files, in order:

1. CTLSEP081FF3622FB1.tlv (I don’t have this CTL file on my trixbox)
2. SEP081FF3622FB1.cnf.xml (appears to load OK)
3. English_United_Kingdom/gd-sip.jar ( this locale file does not exist on my trixbox)
4. /g4-tones.xml (again I don’t have a copy, so does not exist on my trixbox)
5. dialplan.xml (appears to load OK)

I have used wireshark to determine that the requested xml files (that are present in /tftpboot) are being loaded OK and the 9971 is skipping over the files that aren’t in /tftpboot and not getting stuck.

After the dialplan.xml file is loaded nothing more from the phone, other than the odd LLDP and CDP frames. Certainly no requests for registration back to my trixbox etc. The fact that it is looking for locale files in /tftpboot/English_United_Kingdom/ means that it must be parsing the SEPxxxxxxxxxxxx.cnf.xml file OK.

Any suggestions on what to look for next?


May 2, 2010 Sean Simpson

@Sean Simpson,
does the 9971 have a section in its settings for “Status Messages” or anything like that similar to the other Cisco models? You may have an error or msg there that helps point to a next step.

Sadly, these phones are so new that there is next to no information available on connecting them with open source products yet, so I don’t have a lot of research materials to help me. Having said that, I will be trying to get my hands on one of these to see if I can make them work as well as they look rather sexy for a phone. (really like the VGA 640×480 touchsreen)

May 3, 2010 Tyler Winfield

Hi Tyler,

I’ve been watching the ‘Status Messages’ on the phone, however it pretty much mirrors the output in the TFTP log. No real clues there.

I appealed for a working SEP.cnf.xml file on the Cisco Support Community forum and have managed to get my hands on a ‘working’ file. Unfortunately even after modifying the file with settings to point to the trixbox / log in on the associated extension, still no cigar.

I’m wondering whether there is still something in the SEP.cnf.xml file that i have not altered that is all important….quite likely given that it’s not registering. Then again the g4-tones.xml and/or the gd-sip.jar files may turn out to be all important, without which the phone wont register.

May 3, 2010 Sean Simpson

@Sean Simpson,
Are you in Australia (or outside of north america at least)? In looking through some things on the g4-tones.xml files I came across this link from a person in Australia configuring an older model Cisco phone with a “g3-tones.xml”. It looks like this file is only used for changing the dial tone to match your current country’s standard tone. I would suspect this is not causing your registration issues. (here’s a good reference file i found: http://www.crc.id.au/files/g3-tones.xml)

It sounds like your on the right track though, maybe SEP file error, but could be in the extension settings too as thats the other half of the registration. Is both NAT and Qualify set to ‘no’ in your trixbox extension settings?

May 3, 2010 Tyler Winfield

Thanks Tyler. I’m in the UK actually. I will check out the g3-tones.xml file. Do you know if the g3 or g4 refers to the region/locale or the generation of phones?

I have set the extension in trixbox to be NAT and Qualify both set to ‘no’ already. As far as I can see from wireshark the phone does not even attempt to register – at least there are no SIP tagged frames to suggest it does, only CDP and LLDP frames after it sucks down the config files.

May 5, 2010 Sean Simpson

How can i get a local dealer of CISCO Ip phones 79XX series in Lagos Nigeria?Please i need the answer urgently.

June 9, 2010 Chy

Just a tip for the Cisco 7941G phones which had me pulling my hair out for a long time:

It seems the Cisco 7941G has a character limit in the phoneLabel field. The max number of characters this can have is 12, including spaces! If you use more than this then the phone will not process the XML configuration file – it will generate a “Error Verifying Config Info” message in the debug console.

I hope this helps somebody in the same situation.

July 13, 2010 Monideth

You are quite right. this 12 character maximum is true for all of the XML configured models that I’ve tested so far. It also seems that the IP Communicator cannot handle spaces at all in the phoneLabel. I haven’t confirmed this on the 7970 but expect this is true there as well as it uses the same firmware. (didn’t think to test this at the time and don’t have a 7970 available at the moment)

Thanks for the note. I’ll add that in somewhere as well permanently, that could probably be easy to miss for many people.

July 13, 2010 Tyler Winfield

@Sean Simpson
Been also trying right now to get the Cisco9971 to play nice.. I managed to get the g-sip.jar and the tones.xml file in case you need, but those files have zero impact on registration it seems.
I have access to a Callmanager (CUCM 8.x) and been pulling files from there, but nothing.. won’t register.. i wonder if there is something about the: field that needs to be made to work.

July 30, 2010 Sascha Ferley

Is anybody know how to connect Cisco 3911 to Asterisk (config files, ets.)?

August 17, 2010 Stone

I’ve heard these do work with Asterisk just fine. From what I can find, it looks like it references SIPDefault.cnf. May want to try using the 7940 configuration file (somethings will need modification i expect; the firmware image for example) as the starting point. If you do get it to work, I would very much like to hear the steps necessary and add them to this document (with permission of course). If I find anything further thats more definitive I will post it as well.

August 17, 2010 Tyler Winfield

To Tyler Winfield

Thanks, I’ll try today. Later I will write that in the end succeeded.

August 18, 2010 Stone

If you don’t get anywhere with that suggestion, I can give you a hand with some investigation to figure out the configuration files.

It appears the 3911 shares a codebase with the Cisco 7912. This should mean it follows similar boot / startup processes. I’ve never seen or used a 3911 but if its similar to a 79XX model, I’m sure we can find something to either make it work on confirm that it cannot work with asterisk.

August 18, 2010 Tyler Winfield

Hi Tyler Winfield

I’m trying to upgrade Cisco 7940 from SCCP firmware P00307010200 to SIP P0S3-8-12-00 using the configuration files provided.

It keeps getting stuck after reading the SEP.cnf.xml file.

The TFTP error log that keeps repeating is

TFTPServer.Service.ConnectionPool – In connection pool there are 7 free connections and 0 occupied connection

Do you have any idea whats happening? By the way, do you know if Cisco 7940 SCCP firmware P00307010200 is upgradable to SIP?

2010-08-24 09:38:42,618 [3] INFO TFTPServer.Service.PacketParser.RequestPacket – Received request packet, file name: SEP00192F5ED307.cnf.xml, transfer mode: binary, block size: , tsize: , timeout:
2010-08-24 09:38:42,618 [8] INFO TFTPServer.Service.ConnectionPool – Beginning processing GET request from, file name: SEP00192F5ED307.cnf.xml, transfer mode: binary,
2010-08-24 09:38:43,446 [8] INFO TFTPServer.Service.ConnectionPool – In connection pool there are 7 free connections and 0 occupied connection
2010-08-24 09:38:44,446 [8] INFO TFTPServer.Service.ConnectionPool – In connection pool there are 7 free connections and 0 occupied connection

August 23, 2010 wzence

Try not using an SEP.cnf.xml file at all. It isn’t actually required for the 7940/7960 models and may get you further.

August 23, 2010 Tyler Winfield

Before test onto Trixbox, I have found a mistake on XMLDefault.cnf.xml on line column 21 specifically on loadInformation436.
I don’t know if these will cause error during installation, configuration or operation.

August 24, 2010 Mc GRATH Richard

Thanks for the tip, you are correct that there is an “error” in the XMLDefault.cnf.xml file but it seems to be an encoding error and not so much a syntax error. in the tag, the quotes around model="7960" aren’t always encoded as quotes, seems like some character encodings don’t like it. Try re-typing the line and saving the file again it should re-encode the text into a more friendly version for whatever OS you are on.

August 24, 2010 Tyler Winfield

Cisco 9951 / 9971 with asterisk 1.6 SIP over TCP


*EDIT FROM ADMIN: this article appears to be in written in Spanish*

September 6, 2010 Erick Manzur

I have 19 Cisco 6901, that I have bought thinking they work with SIP.
Now I have to connect it to Asterisk and I need help.
Do I have to upload SIP firmware or I can use it with SCCP firmware?
How to configure Asterisk+FreePbx to work with SCCP?

Thank You!

December 29, 2010 Giacomo


It would appear from the Cisco documentation that the 6901s do support SIP firmware. According to the release documents, the latest is cmterm-6901_6911-sip.9-1-1-0. This can be purchased and downloaded via Cisco’s website. It also appears that these devices use TFTP provisioning, so you can expect them to behave very similar to the 7900-series phones.

If you’d rather stick with SCCP, there are things you can try to get SCCP Cisco devices to work with asterisk. Its not as easy as SIP but can be more useful depending on the setup requirements.

December 29, 2010 Tyler Winfield

Well I bought a 7970 and managed to Brick it within 2 hours of trying to upload all of the information here. The resller who sent me the phone says they will not send me the SIP image licesne files and firmware files, so where do I get all of this information? Do I need it to create the SEP.cnf.xml file?

Thank you,


January 25, 2011 Joe


Getting a hold of the firmware is the big hurdle with this phones as downloading it requires a purchased Cisco license (which isn’t the cheapest thing on the planet). Spending some quality time with Google on a Sunday morning might just be what you need to get that firmware you seek. A helpful note is that most firmware package filenames start with “cmterm” and contain the model number (“7970”) as well as the firmware type (“sccp”). For asterisk, you’ll want to look for .zip files; the .cop and other extensions are for use with CCM.

Once you are able to get a hold of the correct firmware; yes, the SEP.cnf.xml file will be required as described in this post.


January 28, 2011 Tyler Winfield


I would like configure my CISCO phone with signed files. Do you know how I can do that?

Many thanks.

October 26, 2011 kloklo

Anyone trying to make sense of their UK dialplan documentation should read the page at: http://www.aa-asterisk.org.uk/index.php/Errors_in_Cisco_UK_Numbering_Plan_Documents

If you want details of UK local dialling patterns within each area code, see the page at: http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_UK_Telephone_Numbers#Local_dialling_rules_for_UK_telephone_numbers

There’s also a whole load of other useful information about the UK number plan on that site.

December 9, 2011 g1smd

Hi, I’m trying to change PBX from SipXecs to Asterisk
my Cisco 7960 works fine with SipXecs but I can’t get them to authenticate to Asterisk. I’ve even upgraded the firmware to 8.12.

I tried “asterisk -vvvvvvvvvvr” and “core set debug 7”
but when the phone tries to connect I don’t see anything on CLI.
If I break my SIP003094C2B2B6.cnf and place a bad “line1_name”, then I see an error message in CLI
[Dec 30 18:18:59] NOTICE[1179]: chan_sip.c:24431 handle_request_register: Registration from ” failed for ‘’ – No matching peer found

I’ve looked in /var/log/asterisk/ and nothing there in messages
netstat -an does show something listening on udp port 5060, but one
thing that is strange is the “sip show peers”
Name/username Host Dyn Forcerport ACL Port Status
famille (Unspecified) D N A 0 Unmonitored
kasandra (Unspecified) D N A 0 Unmonitored

The PORT IS 0 ???
That does not sound right.

I’m running Ubuntu 11.04 with Asterisk 1.8 installed using the package manager (i.e. the binary version, I didn’t compiled).

Can you help?
Thanks in advance,
Martin Politick.

December 30, 2011 Martin Politick

The default templates in sip.conf are missing a non-natted definition. Need to add:


into my phone definition to make it work.
Martin Politick

December 31, 2011 Martin Politick

I’m in a bit of a quandary. I’ve got a bunch of 7941’s which I had running with an internal Asterisk PBX on our local LAN for years. We’ve just moved to a new office and I decided to outsource the PBX bit to a company who also use Asterisk. They’ve had an engineer in for two days so far and have now told me that the Cisco 7941’s aren’t compatible and that I’ll need to buy something like a Polycom. That was bad news to me as we’ve paid good money for the 7941’s and my staff are really familiar with them so don’t really want to change. So I asked what the issue was. Their response was along the lines of:
As we’re running a private LAN we need to NAT out to their PBX on a public address. This we can do, and can successfully dial out. However incoming calls can’t be routed back to the handset because due to slight RFC incompatibilities the Asterisk PBX has the private IP address rather than the public IP address…

Does this make sense? Some of it definitely does but from what I’ve read I get the impression that what we’re asking for can be achieved relatively simply with these handsets..

Any advice would be VERY welcome – the staff who need the phones working are beginning to give me menacing looks!!

BTW – I know one easy option would be to install the PBX in the office, but I’m on a mission to try and reduce the number of servers that I have to look after so I’d really like to outsource the hosting of this one….

January 19, 2012 Andrzej Michalski

Your website has saved me hours of head-desking trying to get a 7940 registered with our Asterisk-based environment. Many thanks for the pointer of enabling NAT – it was all that was required in the end to get a fully-functioning SIP-version 7940 up and running!

@Andrzej: try enabling NAT with nat_enable: 1 and nat_address as your provider’s STUN server. If that doesn’t work, try enabling nat_received_processing to 1 instead of going through the nat_address. I managed to get ours to find the public IP address simply by setting nat_enable to 1.

January 30, 2012 JW

For the 7975 (and may be 7941) the default registration transport changed from UDP to TCP with version 8.xx SIP firmware. You need to add the statement


“2” sets UDP and “4” sets TCP

I think you also need to use the “USECALLMANAGER” format for setting the SIP server.

Under the section

And under set your SIP server here:


March 13, 2012 KD


I’m trying to run recording on demand on phones Cisco 7970 with SIP in version 8.4.4S on AsteriskNOW 1.6. I’ve done a feature with *1 sequence of keys to start recording and that works well. But I would like to implement the sequence under one of PKL’s button or maybe use SoftKeys. I’ve tried plenty ways of doing it but without success. Is there any posibility in order to run the functionality from the button ?

Thank you


March 28, 2012 Radek

I’ve already configure a 7971G-GE it recieved calls but when i try to dial i just got fast busy tone and the phone says REORDER. I readed on a forum that is an auth problem, but i cant find it.

April 16, 2012 the_flyps

What an incredible effort putting this article together. For that I thank you sir!!! I just got my Cisco 7970 working perfectly now thanks in large part to this article!

April 27, 2012 Julian

I got an understanding of the integration between cisco IP phones and
Asterisk. I have been using the Asterisk for 3CX soft phones. Now I want to make it work with cisco hard phones by modifying these config files properly. I want to work on 7942 series.
IS 7942 a XML based phone???
Will 7942 work with config files of 7940???
Please provide some clarity on this as it is an urgent requirement for me.
Thanks in advance!!

July 15, 2012 Sowmya


I haven’t had a chance to test with a 79X2 series device, but from the information I was able to gather there is no mention of a “SIP.cnf” file being requested or required, only the SEP.cnf.xml version is gets pulled. Based on this, my assumption is that the 7942 is an XML configured device. If i remember from my original research correctly, the 79X1 and 79X2 devices were the first sets of IP Phones that moved from the text configs to the XML configs.

Perhaps someone else will have some links or further information to confirm / refute this.

July 18, 2012 Tyler Winfield

Great article – the tip on having to use TCP for SIP registration for a 9971 solved a phone not registering problem which I had been wrestling with for over a day. I found (with monitor port and Wireshark) that the first SIP REGISTER command was coming in as UDP, but the second one being presented after the NONCE challenge was being presented as TCP. How weird is that!

I am now trying to hack a SEP.cnf.xml file to get the 9971 Expansion module working. Does anybody have a working .cnf.xml for that combo? I am not trying to do anything fancy – just put speed dials on ’em.

I would also be very interested to see the list of s mentioned earlier in this thread.

August 1, 2012 Chris Miller

Great article Tyler.

Thnaks to you, I have a working 7945 with firmware 8-3-2SR1
My problemis, it won’t upgrade to 8.5.3 or 8.5.4 and the error is: Auth Failed.

Anyone ran into same problem ? any solutions ?

Q2: any luck with 7931 ?

August 11, 2012 Zydoon

Great stuff this page helped me so much. Got the whole kit and kaboodle working ber one thing. The dialplan file. The phone (3911) loads it and then curls up and dies : TEMPLATE P(MATCH=*, Timeout=5) Tlb Load Exception Eoxception Program Counter: 0xu943e2968 Status Register: 0xt0000=9c01 Cause Register: 0x500000008 Access Address : 0x)00000004 Task: 0x94b69ee0 “tMVX_CFGM” Any ideas?

August 20, 2012 Richard

Zydoon – You need to upgrade the phones to an interim firmware first. You’ll need to upgrade to 8.4.4S or 8.5.2S and then upgrade to the latest firmware. Im currently running with success.

September 10, 2012 Chris

Great article, really helped me to understand the process.

I’m having trouble connecting a Cisco 9971 running 9.3.1 to Asterisk, seem to be missing gd-sip.jar and g4-tones.xml.

Does anyone know where I can find English Locale files such as po-locale-en_GB-
while I try to secure a support contract?

October 5, 2012 Simon

Hi Guys I need some quick advice. I got the phones flashed to an older SIP version that uses UDP for SIP and the phone registers for 1 second that it becomes UNREACHABLE when doing sip debug the phone is trying to NAT on a local subnet. I have disabled NAT on the PBX by adding NAT=NO or NEVER and on the phone setting enablenat to “false”. If someone can let me know if they have seen this with the 7900 Series phones.


October 15, 2012 Jakub

Thank you for this web page. It is very helpful even three years later!

When you say

Cisco IP Phones using SIP firmware will use DHCP-option (port) 69 for connecting to the TFTP server and obtaining its configuration. Phones loaded with firmware that makes use of a Cisco Call Manager application (usually SCCP or MGCP) may look for configuration information on port 150 (the TFTP port used by the CCM).

It is my experience that the phones use the TFTP protocol on UDP port 69. Phones loaded with Cisco firmware will use DHCP option 150 to obtain the IP address of he TFTP server — but still talk to the server on UDP port 69.

October 27, 2012 derek

I am using Ringcentral and I have the xml file configured with all the correct setting, but can’t get the phone to register. Any ideas? I have down graded from 9X to 8X and then brought it back up to 8.5.

Thank you,


October 28, 2012 David M DiStefano

So this website has help me out so much on trying to configure a Cisco 7945g but my trixbox server wont take it. It does read the XML config file but when it starts it tells me file not found SIP45.8-4-2s and CTLFile.tlv and also says error updating locale. When it starts up it also restarts and tells me on the white Cisco screen error and it has the phones IP address. If anyone can help me I would appreciate it.


November 15, 2012 Matt

This setup works with Cisco 7965G?, Also failed to get the firmware SIP45.8-4-2S, any help, thanks.

December 29, 2012 Ricardo

Very Helpful information. Is there a difference between a 7960 and 7960G? I currently have a 7960 running with SIP software 7.5, but any higher versions of the software claim to be for only the “G” phones.

Will the 9760 (no G) work with SIP software 8.12?

January 10, 2013 Alfanerd

I ran a handful of the 7960s (no G) on 8.12 SIP firmware for quite some time before reverting to SCCP. I am unaware of any issues with this combination. (Disclaimer: personal experience only, you experiences may differ.)

January 10, 2013 Tyler Winfield

I have several 9971’s running sip9971.9-3-1-33 that I have been able to get to work with 3CX and with CUCM 8.62, however, I want to have these connect direct to Voip.MS and there is many lost hours trying to get this to work. I have used a paclet sniffer, and I see the request to authenticate, then the response from the VoIP.ms servers is UNAUTHORISED. What can I try next, my brain is fried. I do not run the servers, but they use asterisk, and I do not know if they will be willing to help out, but ussually they are pretty good with tech support, so thay may be willing to from thier end.

Any ideas are GREATLY apprciated!

January 25, 2013 IP Phoner

I am trying to register a Cisco 7945 running SIP45.8-5-4S with Asterisk 1.8. I’ve had success when both are on the same subnet however am having issues when a NAT is involved. I’ve read that has something to do with a Cisco security feature where the phone sends its registration request from a random high port however expects the return message on 5060. Does anyone have experience with this issue? Is it necessary for me to investigate a SIP proxy server like OpenSIPS or Kamailio?


January 28, 2013 Matt

Hi Tyler. All the links to the example config files for the cisco ip phones are broken. Can you take a look. Otherwise, great help page!

April 2, 2013 Stephen Carter

@Stephen Carter
Thanks for the heads up, we recently moved the website to a new server; the old path to the files was incorrect. They have been updated and should be working now.
Glad you are still finding this information helpful.

Should you be interested, I am going to put together a similar article for hooking up the same Cisco phones to Asterisk using SCCP.

April 4, 2013 Tyler Winfield

Has anyone had any luck with adding backgroud immages to a 7941 model phone? I have added the List.xml and placed the 2 .png images in the required sub folder. Just cant seem to make any progress on this.

April 11, 2013 Ryan Rose

I Have to cisco Ip phone 8941 that I would like to upgrade to SIP and Using Asterisk. I follow all the old steps for the 7942G that i have already configure and for the new 8941 I beat myself.
Please any response will be appreciate

May 7, 2013 Pierre Keller

Connection received from on port 47999 [07/05 11:05:17.403]
Read request for file . Mode octet [07/05 11:05:17.404]
File : error 2 in system call CreateFile The system cannot find the file specified. [07/05 11:05:17.404]
Connection received from on port 46818 [07/05 11:05:17.448]
Read request for file . Mode octet [07/05 11:05:17.448]
Using local port 51287 [07/05 11:05:17.448]
: sent 19 blks, 9671 bytes in 0 s. 0 blk resent [07/05 11:05:17.490]
Connection received from on port 34077 [07/05 11:05:21.043]
Read request for file . Mode octet [07/05 11:05:21.044]
Using local port 51288 [07/05 11:05:21.044]
: sent 2 blks, 658 bytes in 0 s. 0 blk resent [07/05 11:05:21.059]
Connection received from on port 59827 [07/05 11:05:21.160]
Read request for file . Mode octet [07/05 11:05:21.160]
Using local port 51289 [07/05 11:05:21.160]
: sent 184 blks, 94131 bytes in 0 s. 0 blk resent [07/05 11:05:21.523]
Connection received from on port 51575 [07/05 11:05:22.366]
Read request for file . Mode octet [07/05 11:05:22.366]
Using local port 51290 [07/05 11:05:22.366]
: sent 3 blks, 1402 bytes in 0 s.
0 blk resent [07/05 11:05:22.379]

May 7, 2013 Pierre Keller

0 All key Minor Unexpected Event
1 CLOG Minor Unexpected Event
2 TUIU Minor Unexpected Event
3 CMM Minor Unexpected Event
4 CMMT Minor Unexpected Event
5 PXMAN Minor Unexpected Event
6 AWBU Minor Unexpected Event
7 WEBLITE Minor Unexpected Event
8 DLMM Minor Unexpected Event
9 AMMU Minor Unexpected Event
10 ACCU Minor Unexpected Event
11 SIPCC Minor Unexpected Event
12 CUVA Minor Unexpected Event
13 CPR Minor Unexpected Event

DIAG result = 0
show giah=g
show revision
Gumbo SVN Revision:888-939-421-2425
show phone_info
Model number : CP-8941
Chip ID : 111720b0(NEW)
IP address :
MAC address : 00:07:7D:DF:C0:96
Boot version :
Active application version : SIP 9-2-3-5
Inactive application version : SIP 9-2-1-00
Last upgrade time : Jul 01, 2011 12:54:53

show device
show device lastoutofservice

[CP-8941] show crc

CRC information :
APP1 : 727216ba
APP2 : 585ac37a

show boot

Boot image = /IMAGE_B/ota_GUMBO_SIP894x.9-2-3-5_jffs2.bin

May 7, 2013 Pierre Keller

We also had some success with configuring the Cisco 9950 IP Phone with Asterisk. We wrote up our learned lessons here (and in english!). Hope this helps someone!


June 13, 2013 TB

Firstly, congratulations on a excellent article. It is the first page I have found which has explained clearly how to set up a 7970g with a sip firmwire. However I would really REALLY appreciate your help as I am completely stuck!

After a week of trying to set this up for use as a standalone sip phone to connect to sipgate, im on the verge of giving up! Its a shame as its a nice looking phone. I have scoured the internet for clues and I have altered my router settings and the MAC ocnfig file until I have screamed in frustration. I have other sip equipment which is working fine, but this beast is proving to be a challenge. Please help…..

July 7, 2013 Faron

Just to Add I have got it as far as wanting to register, but just continues.

July 7, 2013 Faron


We have Cisco 7965G, we have follow step in this website and now Cisco7965G can register to asterisk server.

We find problem when we want use Cisco7965G for conference using conference softkey.

Our question:
What configuration that we need to make Conference Softkey on Cisco 7965G work?

Thanks For Your Attention

July 9, 2013 henry

Thanks for putting up such a useful page. I didnt get the info that I needed though.
I have been trying to configure a Cisco 3911 on Asterisk for ages now. with no luck what so ever.
Has any one been successful in this?
@Stone and @Richard seem to have been trying earlier, where you able to pull it off?
I really hope someone can help me.

July 20, 2013 CallDrop

Hi henry,

We have a CISCO 7965G and failed to get the firmware SIP45.8-4-2S, did you change any step of the website ?

Thanks for you help

August 9, 2013 Gerry

Tell you what – I was about to throw our 7965’s out the window because I could not get them to register UNTIL I found this article. 8.5.4S with Asterisk 11.1 (IncrediblePBX) and 11.5 (Elastix 2.4.0) have successfully registered and can place calls ok. On to testing all the other features.

Downloaded the sample config, updated the appropriate settings with our pbx information and user account settings and voila…

If I could kiss you I would! Thanks for the help.

October 18, 2013 Dan


I am triying to configure a 7945. It was upgrade to SIP45.9-3-1SR2-1S but I can not register it with my Elastix. I red something about change type of Port from UDP to TCP but I do not how.

Please, Can somebody give me a little explanation?


October 28, 2013 Josefors


Firstly thanks for the great article, have got it fairly all operational apart from one issues, wondering if you can shed some light.

Trying to get the “directories” button to bring up a phone directory. I have placed a php file that generates an xml in an apache server, i have looked at the log for apache and when i push the “directories” it requests the correct file and gives “200 ok” the phone says ‘”requesting …. ” then the “requesting” messages disappears but doesn’t show the “phone directory” menu item.

Any thoughts?

February 9, 2014 Al

Hi, we have a configured cisco7942g IP Phone to work with Brekeke SIP server with the help of the above said configuration files.
However, we are able to receive calls on our IP phone and unable to dial out any number.

Any help?

April 10, 2014 Sivakumar

@Faron did you ever get this hooked up, I am trying to do the same thing at the minute and have reached the registering stage and it does nothing.

April 10, 2014 Davi

thanks to this website I have recently set up three 7960 phones I have encountered a small problem. The IP address loads correctly for the first two lines but incorrectly for lines 4-6. I can manually change them, but when loaded from the tftp server there seems to be a couple of spaces prior to the ip address and the last two digits are missing. Any Idaes?

June 21, 2014 shaun

Josefors: changing from UDP to TCP in SEP(MAC)cnf.xml
2 %for using UDP
4 % for using TCP

to use both on elastiX :
Enabling TCP SIP


transport=udp, tcp

June 24, 2014 Hisham

I have a problem when i configure IP phone it keeps on ” Registering” all speed dial that i want are configured but still i don’t get a dial tone on all speed dial ; kindly help me

August 18, 2014 Hasan

Hello I found this page while looking up a way to connect a magic jack to a pbx and the pbx to my Cisco 7940 ip phone. So far i have the magic jack working with the pbx and I used solor winds tftp server. I used the package at the end of this post and was able to get my 7940 to connect to the tftp server. But now I am stuck on the display going from – opening tftp server address – configuring CM list – tftp retry sepmacaddress.cnf.xml ….. any ideas what cou8ld be missing .. also I noticed the givin files lack comments on whatinfo is needed in the file from the pbx server extention settings… I am using NCH;s axon pbx if that helps… I am not sure but i think i almost finished my setup till this point and I have been working on it for about 3 months now…So any help would be Great

August 26, 2014 Jeremy Henry

@Josefors It’s odd but you can make 7945/7965 series phones with HW rev.13+ and Fw 9.3.1 using the configuration in this site with a little changes. First you have to write USECALLMANAGER instead of xxx.xxx.xxx.xxx . And if you want to use UDP , change 4 line with 2

August 27, 2014 Yusuf Alakavuk

Oh my goodness! Impressive article dude! Thanks, However I am encountering
difficulties with your RSS. I don’t know the reason why
I cannot join it. Is there anybody else having identical RSS problems?
Anybody who knows the answer will you kindly
respond? Thanx!!

October 13, 2014 CiscoStore.fr

very nice

November 15, 2014 خرید کریو

how do you add different phones and give them a phone number instead of an extension ?

February 18, 2015 Julius

Problem with 7940/7960 phones not displaying date and time. Using Asterisk Free PBX. Is there a good solution for this

March 6, 2015 Kevin Blood


I have a 7941 working with elastix 2.4 but I cant make conference like henry, somebody can do it? please help me

April 21, 2015 Faustino

A Problem: Behind a NAT a CP-7821 cannot register with asterisk server. Why? How to solve this bug?

I let you hnow that In the same subnet with asterisk server, it work normally!

June 15, 2015 Emile
Please provide a valid email address

Trackback URL


  • […] 27 March 2010: Tyler Winfield's article on configuring Cisco IP phones with Asterisk is very thorough and easy to read – even if you're not using […]

  • […] http://minded.ca/2009-12-16/configure-cisco-ip-phones-with-asterisk/ No tags […]

  • […] Configure Cisco IP Phones with Asterisk […]

  • […] Configure Cisco IP Phones with Asterisk […]

  • […] Configure Cisco IP Phones with Asterisk […]

  • […] file examples are available as well. Available online and in PDF format:Online version: http://minded.ca/default/2009-12-16/configure-cisco-ip-phones-with-asterisk/PDF version: […]

  • […] Cisco 7941 or 7961 with Asterisk, en, 2009-10-22 Cisco IP Phones 79XX with Asterisk, en, 2011-11-25 Configure Cisco IP Phones with Asterisk using SIP, en, 2009-12-16 How to load SIP or SCCP on a Cisco 7940 7960 7941 7961 Ip Phone, en, […]

  • […] Great Walkthrough […]

  • […] Configure Cisco IP Phones with Asterisk using SIP – 1) Asterisk. The first component of the system will obviously be the Asterisk IP PBX server. For the sake of this guide I’m going to assume that this has been …… […]

  • […] server: http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch24_:_The_NTP_Server Ref: http://www.minded.ca/2009-12-16/configure-cisco-ip-phones-with-asterisk/ Ref Steps to change phone settings: […]

  • […] Configure Cisco IP Phones with Asterisk using SIP – ii. XMLDefault.cnf.xml. The XMLDefault.cnf.xml is the base file for global settings for all of the Cisco IP Phones to be used. This file will also contain the general …… […]

  • […] [1]Configure Cisco IP Phones with Asterisk Una excelente guía sobre los puntos que hay que cuidar para que funcione este teléfono. Lamentablemente no cubre al Cisco 9951 pero aún así dio algo de luz en el camino. […]