Configuring a Cisco IP phone for VoIP using SIP

Cisco logoOne of my projects at home has involved trying to get a variety of telephony systems to work together so that I can make voice over IP (VoIP) or plain old telephone service (POTS) as necessary to get the best call rates. In truth, it’s probably not about getting the best rates as our phone bill is already pretty small – maybe it’s just because the geek inside me wants to get an IP phone working on my desk… anyway, I still have a few pieces of the puzzle to fit in place but last week I had a major breakthrough in getting a Cisco IP phone to provide a voice over IP (VoIP) service using SIP. It was a long haul, but worth it in the end – and this is how it’s done…

Cisco IP Phone 7940GFirst of all I needed an IP Phone. I managed to pick up a brand new 7940G for £50 on eBay (a bargain) and this was perfect for me. Why a Cisco phone? Partly because we use them at work (so I know they are good phones – and I like the form factor – although I wish it had a backlit screen) but mostly because there are so many of them about – that means that plenty of people have tried to do this and there is information available on the web. Using a Cisco phone does cause a couple of problems though:

  1. The standard protocol used for VoIP is session initiation protocol (SIP) and Cisco IP phones don’t use SIP natively. Cisco has it’s own IP Telephony system (Call Manager) which uses SCCP; however they do provide SIP firmware for their 79xx IP phones.
  2. Some of the Cisco documentation and software is only available with a service contract and generating configuration details can be a challenge if you don’t have access to a Cisco Call Manager solution – thankfully everything I used for this is available on the ‘net through a variety of websites that are aimed at getting people up and running with VoIP solutions.

It’s also worth knowing that there are two types of configuration file for Cisco IP Phones:

  • The 79x0 models use a fairly simple configuration file.
  • The 79x1 models use an XML configuration, which is all very well if you have access to a Cisco Call Manager solution but not so well documented if you don’t.

I found that the 7940 is a good model to go for as it has been around for a while, there is plenty of information available, and it can be picked up for a reasonably low price (and it helped to know that one of my colleagues already had this solution working well for him!). The 7960 is similar but with support for more lines and there are other models available (e.g. cordless phones, or phones with colour screens). In addition, Linksys (owned by Cisco) sells some similar phones that do run SIP natively but I don’t know if they use the same firmware.

After choosing the phone there were a couple of other considerations:

With the phone powered on and able to download a configuration, I uploaded the necessary configuration files to the TFTP server. Cisco Document ID: 5455 – Converting a Cisco 7940/7960 CallManager Phone to a SIP Phone and the Reverse Process gives details of the required files but the main ones to know are:

  • OS79XX.TXT – tells the phone which firmware to use.
  • SIPDefault.cnf – configuration information relevant to all phones.
  • SIPmacaddress.cnf – configuration information relevant to a specific phones.

Other files that I have include:

  • RINGLIST.DAT – Lists audio files that provide the custom ring types.
  • CTU.raw – an audio file referenced by RINGLIST.DAT.
  • dialplan.xml – a dialplan.
  • Various firmware images named as follows:
    • P003x-xx-x-00.bin – universal application loader for upgrades from images earlier than 5.x.
    • P003x-xx-x-00.sbn – secure universal application loader for upgrades from images 5.x or later.
    • P0y3x-xx-x-00.loads – universal application loader and application image, where y represents the protocol of the application image (.loads) file: 0 for SCCP, and S for SIP.
    • P0y3x-xx-x-00.sb2 – application firmware image, where y represents the protocol used by the image: 0 for SCCP, and S for SIP.

With all the necessary files available on the TFTP server, I set about upgrading the firmware to the latest SIP release by editing the OS79XX.TXT file to read P0S3-08-2-00 and resetting the phone. The TFTP server log told me that the phone picked up the appropriate firmware release, but that it couldn’t find one of binary images (P0S3-08-2-00.bin)

After some research, it seems that POS3-08-x-00.bin does not seem to exist for any 8.x firmware:

Versions [6.x] and [7.x] seem to have P0S3-0xxx-00.BIN files which make it easy when upgrading from SCCP to SIP as all you have to do is rename the file it loads in OS79XX.TXT to one of these *.BIN files and its all done straight to SIP.

With version 8 series it doesn’t have these and that forces you to upgrade it in a 3 part reboot and load phase with[:]

XMLDefault.cnf.xml
[SEPmacaddress.cnf.xml]

That loads the *.loads file then it loads *.sbn and reboots
After warm reboot it loads *.sb2 which must be the sip software.

Then reboots again starting in sip and then provisions with[:]

SIPDefault.cnf
[SIPmacaddress.cnf]

Armed with this new information, I put the 7.4 SIP firmware into my TFTP root folder, edited OS79xx.TXT to read P0S3-07-4-00 and created an xmlDefault.CNF.XML file.

After booting the phone I was pleased to see a message that said Upgrading software but that pleasure soon ended as the upgrade never completed. Thankfully I hadn’t “bricked” the phone and, after another reboot, the phone showed a message which said Load ID Incorrect. The TFTP logs indicated that the phone was trying to load a file called SEPmacaddress.cnf.xml.

Googling turned up some more information and it turned out I was trying to go too far in one jump – my phone had been supplied with v3.x SCCP firmware and I was trying to go straight to v7.x firmware:

You have to upgrade to a new version of SCCP or older version of SIP before the bootloader on the phone will be able to handle the newer firmware […] you can either use an older version of SIP first, or a newer version of SCCP. Older SIP is probably easier – 6.3 is the newest you can use to then jump to 7.x and/or 8.x.

I put the v6.3 firmware on my TFTP server, edited OS79XX.TXT to read P0S3-06-3-00 and rebooted the phone. This time I saw the Upgrading Software message and watched the transfer take place.

After rebooting itself the phone came back up on the v6.3 firmware and was showing itself as Phone Unprovisioned.

I set about the second stage upgrade to v8.2 by editing OS79XX.TXT to P0S3-08-2-00 and rebooting the phone again. That didn’t help, but a further OS79XX.TXT edit from P0S3-08-2-00 to P003-08-2-00 did the trick as the Universal Application Loader booted.

Despite attempting to read non-existent files called CTLSEPmacaddress.tlv and SEPmacaddress.cnf.xml (the Cisco 7940 and 7960 IP Phones Firmware Upgrade Matrix explains the hunt algorithm employed by the Universal Application Loader) the phone downloaded the appropriate files and restarted to return as an unprovisioned device, finally running the v8.2 SIP firmware.

By this point, the TFTP logs were not much help as they didn’t indicate any errors but the status message on the phone gave me more clues:

W350 unprovisioned proxy_backup
W351 unprovisioned proxy_emergency
W362 No Valid Line Names Provisioned

The unprovisioned backup and emergency proxies didn’t bother me but I couldn’t understand why I had no valid lines provisioned. I had been trying to get the phone to use my Linksys SPA3102 as a SIP proxy but something was not quite right. In the end, I gave up and registered with SIPgate. After updating my configuration files to reflect the SIPgate account details, my phone picked up a valid line but couldn’t make or receive calls. Following advice on the SIPgate website, I made sure that the following ports were all open:

I’m not sure if all of these are strictly necessary but they seem to have got things working. The final contents of my configuration files are detailed below, after the TFTP log from a successful boot:

Connection received from ipaddress on port 50967 [25/07 00:41:32.672]
Read request for file <CTLSEP
macaddress.tlv>. Mode octet [25/07 00:41:32.672]
File <CTLSEP
macaddress.tlv> : error 2 in system call CreateFile The system cannot find the file specified. [25/07 00:41:32.672]
Connection received from
ipaddress on port 50968 [25/07 00:41:32.703]
Read request for file <SEP
macaddress.cnf.xml>. Mode octet [25/07 00:41:32.703]
File <SEP
macaddress.cnf.xml> : error 2 in system call CreateFile The system cannot find the file specified. [25/07 00:41:32.703]
Connection received from
ipaddress on port 50969 [25/07 00:41:32.719]
Read request for file <SIP
macaddress.cnf>. Mode octet [25/07 00:41:32.719]
Using local port 1203 [25/07 00:41:32.719]
<SIP
macaddress.cnf>: sent 2 blks, 632 bytes in 0 s. 0 blk resent [25/07 00:41:32.735]
Connection received from
ipaddress on port 50970 [25/07 00:41:32.766]
Read request for file <P0S3-08-2-00.loads>. Mode octet [25/07 00:41:32.781]
Using local port 1204 [25/07 00:41:32.781]
<P0S3-08-2-00.loads>: sent 1 blk, 461 bytes in 0 s. 0 blk resent [25/07 00:41:32.781]
Connection received from
ipaddress on port 50962 [25/07 00:41:54.672]
Read request for file <SIPDefault.cnf>. Mode octet [25/07 00:41:54.672]
Using local port 1205 [25/07 00:41:54.672]
<SIPDefault.cnf>: sent 2 blks, 925 bytes in 0 s. 0 blk resent [25/07 00:41:54.688]
Connection received from
ipaddress on port 50963 [25/07 00:41:54.813]
Read request for file <SIP
macaddress.cnf>. Mode octet [25/07 00:41:54.828]
Using local port 1206 [25/07 00:41:54.828]
<SIP
macaddress.cnf>: sent 2 blks, 632 bytes in 0 s. 0 blk resent [25/07 00:41:54.828]
Connection received from
ipaddress on port 50967 [25/07 00:41:56.891]
Read request for file <RINGLIST.DAT>. Mode octet [25/07 00:41:56.891]
Using local port 1207 [25/07 00:41:56.891]
Connection received from
ipaddress on port 50974 [25/07 00:41:56.907]
<RINGLIST.DAT>: sent 1 blk, 15 bytes in 0 s. 0 blk resent [25/07 00:41:56.907]
Read request for file <dialplan.xml>. Mode octet [25/07 00:41:56.907]
Using local port 1208 [25/07 00:41:56.907]
<dialplan.xml>: sent 1 blk, 104 bytes in 0 s. 0 blk resent [25/07 00:41:56.907]

OS79XX.TXT

P003-08-2-00

SIPDefault.cnf

;begin
image_version: P0S3-08-2-00
proxy_register: 1
dial_template: dialplan
tftp_cfg_dir: ""
sntp_server: "ntp.sipgate.net"
sntp_mode: unicast
time_zone: GMT
dst_offset: 1
dst_start_month: March
dst_start_day_of_week: Sun
dst_start_week_of_month: 8
dst_start_time: 01
dst_stop_month: Oct
dst_stop_day_of_week: Sun
dst_stop_week_of_month: 8
dst_stop_time: 02
dst_auto_adjust: 1
time_format_24hr: 1
date_format : D/M/Y

# NAT/Firewall Traversal
nat_enable: 1 ; 0-Disabled (default), 1-Enabled
nat_address: "" ; WAN IP address of NAT box (dotted IP or DNS A record only)
voip_control_port: 5060 ; UDP port used for SIP messages (default - 5060)
start_media_port: 8000 ; Start RTP range for media (default - 16384)
end_media_port: 8012 ; End RTP range for media (default - 32766)
nat_received_processing: 0 ; 0-Disabled (default), 1-Enabled
outbound_proxy_port: 5082
telnet_level: 2
;end

SIPmacaddress.cnf

;begin
image_version: P0S3-08-2-00
phone_label : "markwilson.it " ; Has no effect on SIP Messaging
line1_name : "sipgateid" ; SIPgate device ID#
line1_authname : "sipgateid" ; SIPgate device ID#
line1_password : "sipgatepassword" ; SIPgate device password
line1_shortname : "phonenumber"
line1_displayname : "phonenumber"
proxy1_address : "sipgate.co.uk"
proxy1_port : 5060
line2_displayname: ""
line2_shortname: ""
line2_name: UNPROVISIONED
line2_authname: "UNPROVISIONED"
line2_password: "UNPROVISIONED"
proxy2_address : ""
proxy2_port : 5060
phone_password: "password"
logo_url: "http://webserver/sipgate.bmp"
directory_url: "http://webserver/directory.xml"
;end

RINGLIST.DAT

CTU CTU.raw

xmlDefault.CNF.XML

<Default>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName></processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<loadInformation8  model="IP Phone 7940">P0S3-07-4-00</loadInformation8>
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<servicesURL></servicesURL>
</Default>

Further information

Here are some of the sites that I found particularly useful as I went through this process:

[update 10 September 2009: Here’s another useful resource on how to set up a cisco 7940 and 7941 IP phone to do SIP.]

[update 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 Asterisk.]

65 thoughts on “Configuring a Cisco IP phone for VoIP using SIP


  1. After trying unsuccessfully to move a 7960G from SCCP v6.0 to SIP v8.2, it appears a soft reset using **#** is not sufficient and that a hard reset (i.e. unplugging the power cord) is required in order to get the phone to load a new firmware image.

  2. File : error 2 in system call CreateFile The system cannot find the file specified. [25/07 00:41:32.672]

    Some possibilities for this error is that access is denied for that file (wrong permissions), a path reference string is wrong in another configuration file or that there is no write access (considering call is called “CreateFile”).


  3. Or it could just be that the file doesn’t exist ;-)

    The SEP files should produce an error on a SIP phone but the universal loader will still work through its hunt algorithm until it finds a file that it knows what to do with.


  4. Brilliant. Just the sort of information I need to finally nudge me into trying to get a Cisco 7940 working here in the Seattle area on VOIP service. Thanks for letting us learn from your experience.


  5. Hello Mark, thanks for your excellent blog. Just wondering of the security issues of having your IP phone to directly communicate with a SIP provider and having to open all those ports. Maybe its better to install an inhouse IP-PBX system (e.g linksys) and use the PSTN instead.


  6. @cisco-tips. Thanks for the compliment!

    I’m not concerned about opening those ports (my phone is on a different subnet to most of my IT and so the ports are closed on a secondary firewall) but it is a valid concern for some people. I also have my 7940 working with the PSTN via a Linksys SPA3102 but there’s something not quite right in the config as it’s randomly dropping calls mid-conversation.

    Another option would be to use something like Asterisk as an in-house PBX although it may still need the same ports open to communicate with the SIP provider.

    Using SIP for calls is certainly saving me money at peak times though (hour long conference calls in the middle of the day, for example) but I still use the PSTN at weekends/evenings (when most of the call charges are included in my line rental).


  7. Its an excellent and useful guide. just a quick question about cisco phones though. how many sip providers it can connect to?


  8. Thanks Mark – as many as you have lines for – at the moment I have my 7940 configured with two providers – Sipgate and Call Centric. If I had a 7960 I could use 4 lines.


  9. Sorry I am still confused :) – I have 8 sip providers – means I could connect all of them at the same time if I have 7940 or just the two of them?

    or four If I have 7960?

    Thanks for all your help, I really appreciate.

    Mark Johnson


  10. @Mark – 8 SIP providers!!! Wow! As far as I know, you can only configure one provider per line. You have two choices that I can think of:

    1. Get more lines on your handset (I think Cisco do an extension unit of some sort) but that sounds expensive and is still limited.
    2. Set up an IP PBX (e.g. an Asterisk box) and use your phone as an extension on that, with it handling the routing to the various SIP providers.

    (I’m probably going to try option 2 at some point as I have also been trying to get the Cisco phone talking to the PSTN via a LinkSys SPA3102 gateway with some success but also some strange call disconnects…)


  11. dude ;) – If you’re thinking of IP PBX, I ‘d suggest trying 3cx – I ‘ve been using it for about a year now without any problems. Its very easy to setup and call quality is flawless. The only reason why I want to get rid of it is because the pc has to be on all the time and its very energy consuming.

    Guess I’ll just buy a SNOM IP phone ;)

    Cheers
    Mark


  12. Hi,
    I’m having tales of woe also with my 7940, and trying to convert from SCCP.

    I’ve followed your advice Mark, but am stuck. I’m doing the v6.3 upgrade first, and I’m getting an error from tftpd32…

    “Read request for file . Mode octet [12/03 12:03:06.379]
    File : error 2 in system call CreateFile The system cannot find the file specified. [12/03 12:03:06.379]””

    Despite the fact that THAT file IS in the tftp folder.

    Any ideas?!


  13. Mark:

    I used mysipswitch for a while and it sucked bigtime. Either the site’s not forwarding calls properly or registration errors. yada yada yda – so i moved to 3cx n now m thinkin – lets switch bak to som SIP based phone to save energy – I think m gona buy gnom’s IP phone with miltiple sip providers option or a dreytek router with 12 sip registrars ;) – its not cheap though:(


  14. Hi Mark, Must appreciate your help on the VOIP arena. I have a quick question for you if you can assist me. I have configured a Cisco7940 on Sipgate & I am using firmware 8.4. Can see the phone online & tried the test call to sipgate & it works. I am able to hear the pre-recorded voicemesage. However if I dial my sip number(Cisco7940) from another pc ( through x-lite) logged in via a different sipgate acount. The cisco phone ring but when I pick up, there is no voice both ways. its the same the other way round. So to try & figure this out I set a timeout for voicemail to 10 sec & dial the web account through the cisco phone, it rings my pc & goes to voice mail as expected. I can listen to the message I left through sipgates online account that works without any problem. If this works then how is it that I cannot hear anything when the call is started from Web account to Cisco phone or reverse.

    Please could you advice


  15. @Mickey – The best advice I can give is to use something like Wireshark to examine the VoIP traffic and see what is going where… that’s pretty deep stuff though – I imagine there’s some sort of issue preventing the softphone from talking to the hard phone over SIP (maybe firewall restrictions?).


  16. I was wondering what settings you’re using to connect to CallCentric. I have a 7960 and it keeps getting stuck in the REGISTERING state.

    I’m behind a cheapo DLink home router.


  17. Hi Mark, great writeup. I myself struggled through all the same steps, and blogs like yours got me on my feet. I’ve just upgraded to firmware v. 8-12, and at least a couple of bugs have been ironed out.

    One thing that I just cannot understand (I know it’s slightly off-topic, but I may not be the only one experiencing this) is why the phone will display the caller id, but flatly refuses to match it to the entry in its own directory? Either I’m the only one with this problem (as a search on Google returns nothing), or no one else is bothered with a list of missed (and placed/received) calls, that makes no sense without a name.

    I’d appreciate hearing if anyone else has this problem, or if there is something that they’ve done. Thanks.


  18. Thanks for the post Mark. I just got my CCNA and will be going after the voice and wireless speciality certs so this gives me a little information on what is coming ahead for me.


  19. I can listen to the message I left through sipgates online account that works without any problem. If this works then how is it that I cannot hear anything when the call is started from Web account to Cisco phone or reverse.


  20. Hi,

    Great information, sadly Cisco has restricted access to the SIP 7940 / 7960 firmware. I’d apprecaite it if someone could share it???


  21. Good compilation of information for these phones, nice work.

    As you mentioned the documentation for the 79×1 and other XML configured devices is somewhat lacking but has improved. I’ve recently put together a thorough guide on setting up various different Cisco IP Phone models (including the IP Communicator) with asterisk. Examples of all configuration files have been included for reference. If anyone finds the information helpful it can be found at http://minded.ca/2009-12-16/configure-cisco-ip-phones-with-asterisk/


  22. You can try to use CIP-SIP – it’s a auto-provisioning web based software from some company. You can easy managed your Cisco IP Phones (all kind of models), also you can create your own directory, upload logo to the phone, manage memos, Directory search etc etc. I’ve tried it, and it very nice software, yes, thet just start, but it’s enough for me now. I’ll use this software in the future, because they anounced a lot of additional functionality and recommend to try.

    I’ve found thos software via (one coder – he works in this company), so, I’ve wrote email to info_at_eranet.com.ua and ask account for me.


  23. Hi Mark, your site is an immensely helpful guide for configuring these phones. I have what may be a simple problem but I haven’t figured a solution.

    My 7960 works perfectly when connected to my BT HomeHub router. When I connect it to my laptops it seems to fail to register with my voip provider Sipgate (I get the phone icon with an “x” next to it) .

    I’ve used a WinXP ThinkPad with 3GB memory and a W7 netbook with 2GB and have DHCP enabled on the phone. I imagine it’s a problem with Windows’ firewall settings but may be wrong and can’t figure out which settings.

    Any ideas what I can do? Much appreciated.

    Many thanks.


  24. @Vlad, you say “when I connect it to my laptops”. The phone should be between the laptop and the switch (there are two ports – one to PC and the other to switch). If that’s the case, then I don’t think the laptop should make a difference although I guess the BT router might be getting confused with two devices on one port (it shouldn’t, but it’s designed as a consumer product so probably doesn’t expect it)?

    Does it work with the phone and laptop on separate connections to the router?


  25. Hi Mark,

    First, thanks for the response. Second, I finally got it working but, as I’ll explain, with an uncomfortable quirk.

    My objective is to able to use the 7960 on the road where WiFi is more readily available than LAN access. The phone is hence getting its internet connection via the laptop’s WiFi connection.

    How? I’ve used the Windows Network Bridge and Internet Connection Sharing to bridge the WiFi connection (routerlaptop) to the 7960 (laptopphone).

    I finally managed to get it working however it only does so when I disable my firewall. AVG Internet Security apparently doesn’t like using the PC as a server and having the PC use DHCP configs seems to be a problem. I’ve posed the question to AVG with no response so am using Windows Firewall for now.

    If you’re also using Windows Firewall, can you tell me or refer me to how to set up the configs. Thanks.


  26. By the way, the 7960 works fine when connected via ethernet to the BT Home Hub, even before I opened ports 5004, 5060, 5080 and 10000 and attributed them to both devices (the laptop and 7960). This leads me to conclude that the problem is likely the laptop’s firewalls or network settings.

    To clarify my last comment above, the 7960 persistently “works” only for outbound calls with Windows Firewall enabled even though Sipgate shows my Cisco device “online”. When I first boot and register the 7960 with Sipgate, the phone receives incoming calls but then stops receiving them.

    Thanks.


  27. Hi Mark, I finally got it working so that my laptop serves my 7960’s incoming and outgoing calls.

    For the benefit of anyone else facing this task and issue under these circumstances, I’ll confirm what you suggested: the BT HomeHub is not reliable for VoIP. The jury’s out on whether AVG Internet Security works with the 7960 bridged since I haven’t yet tried to reenable its firewall.

    I have an older version of the BTHH but BT also confirmed that the newer BTHHs (in the post to me) also have port limitations that other routers don’t. I’m now using a Belkin router.

    Best,

    Vlad


  28. Hi Vlad – disappointing to hear that the Home Hub has these limitations (guess I won’t be getting one then…) but glad you managed to get things sorted. FWIW, I don’t use AVG any more – the combination of Windows Firewall, Microsoft Security Essentials and a hardware router seems to protect me reasonably well. On the non-Windows machines, I just use the built-in software firewalls too.


  29. Hi,

    I was wondering what all things you require to setup 7960 at home. will this work with WINDOWS XP? Can someone please put up a complete list of things and how do set it up?

    Regards,
    Billy


  30. Thanks for the info Mark, this is exactly what i needed to get this done. Truthfully i never knew tftp existed, but once i set that up on my ubuntu box and used the config files you provided as a starter, i had this going very quickly

    only issue now is i cant seem to get inbound calls going properly, keeps going to voicemail. not sure if thats the setup or what…but its very odd. anyone else encountered this?


  31. Does anyone know what the time interval for a Cisco 7940 to automatically contact the TFTP provisioning server to see if there are newer settings?


  32. Good day mark! Have a question about changing default language from English to Russian or any other once on Cisco 7940G. Is it possible to do it just via TFTP for SIP configuration. Several days of trying to search for an answer on the web didn’t bring me any answer on that question.
    Sincerely
    Vlad


  33. Hi Vlad, I’m pretty sure that it should be possible, but it’s not something I’ve tried and it’s been a couple of years since I looked at this now. Some of the links at the bottom of my blog post go to some forums that I found helpful – maybe people there might have the answer? Sorry I couldn’t help, Mark


  34. Thanx for reply Mark. As far as I can see you are good specialist with Cisco equipment. Would love to stay in keep in touch with ya in a future … and maybe could answer on some questions on your blog as well.
    Sincerely Vlad (from Russia)


  35. Do anyone has or tried to build a software to create / modify these config files? I’m struggling editing these configs manually, especially if I need to do it on couple phones. I’m not that much software developer to complete whole package, but there shouldn’t be that much work to read text config file, parse it into the variables, place on the screen, and write back modified data. Plus, if package will include TFTP server and basic configs, it will make Cisco phones more popular (especially newer models) with SIP providers.

    SIncerely,

    Mike / CCNP, CCVP, CCDP, CCSP, CCIE Voice (written), etc.
    http://www.ciscoheadsetadapter.com


  36. Does anyone know how to configure a Cisco 501G to receive calls from the BT Homehub 2?
    The IP Phone provider is BT also, and the BT number used to ring a wireless BT IP handset. Thanks.


  37. Hi all,

    I am wondering if anyone can help me. I have CISCO 7960 which used to work with SIPgate.co.uk and stopped one day. I re-flashed it with latest SIP firmware but can not make it work now. My home router has UDP ports forwardings are set. Sipgate works from PCs, mobiles on the same network.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    XMLDefault.cnf.xml

    2000

    2427
    2428

    P0S3-8-12-00

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    SipDefault.cnf

    # SIP Default Generic Configuration File

    # Image Version
    image_version: P0S3-8-12-00

    # Proxy Server
    proxy1_address: “sipgate.co.uk” ; Can be dotted IP or FQDN
    proxy2_address: 222.33.22.11 ; Can be dotted IP or FQDN
    proxy3_address: “” ; Can be dotted IP or FQDN
    proxy4_address: “” ; Can be dotted IP or FQDN
    proxy5_address: “” ; Can be dotted IP or FQDN
    proxy6_address: “” ; Can be dotted IP or FQDN

    # Proxy Server Port (default – 5060)
    proxy1_port: 5060
    proxy2_port: 5069
    proxy3_port: 5060
    proxy4_port: 5060
    proxy5_port: 5060
    proxy6_port: 5060

    # Proxy Registration (0-disable (default), 1-enable)
    proxy_register: 1

    # Phone Registration Expiration [1-3932100 sec] (Default – 3600)
    timer_register_expires: 600

    # Codec for media stream (g711ulaw (default), g711alaw, g729a)
    preferred_codec: g711ulaw

    # TOS bits in media stream [0-5] (Default – 5)
    tos_media: 5

    # Inband DTMF Settings (0-disable, 1-enable (default))
    dtmf_inband: 1

    # Out of band DTMF Settings (none-disable, avt-avt enable (default), avt_always – always avt )
    dtmf_outofband: avt

    # DTMF dB Level Settings (1-6dB down, 2-3db down, 3-nominal (default), 4-3db up, 5-6dB up)
    dtmf_db_level: 3

    # SIP Timers
    timer_t1: 500 ; Default 500 msec
    timer_t2: 4000 ; Default 4 sec
    sip_retx: 10 ; Default 10
    sip_invite_retx: 6 ; Default 6
    timer_invite_expires: 180 ; Default 180 sec

    ####### New Parameters added in Release 2.0 #######

    # Dialplan template (.xml format file relative to the TFTP root directory)
    dial_template: dialplan

    # TFTP Phone Specific Configuration File Directory
    tftp_cfg_dir: “” ; Example: ./sip_phone/

    # Time Server (There are multiple values and configurations refer to Admin Guide for Specifics)
    sntp_server: “” ; SNTP Server IP Address
    sntp_mode: unicast ; unicast, multicast, anycast, or directedbroadcast (default)
    time_zone: GMT ; Time Zone Phone is in
    dst_offset: 1 ; Offset from Phone’s time when DST is in effect
    dst_start_month: April ; Month in which DST starts
    dst_start_day: “” ; Day of month in which DST starts
    dst_start_day_of_week: Sun ; Day of week in which DST starts
    dst_start_week_of_month: 1 ; Week of month in which DST starts
    dst_start_time: 19 ; Time of day in which DST starts
    dst_stop_month: Jan ; Month in which DST stops
    dst_stop_day: “” ; Day of month in which DST stops
    dst_stop_day_of_week: Saturday ; Day of week in which DST stops
    dst_stop_week_of_month: 8 ; Week of month in which DST stops 8=last week of month
    dst_stop_time: 2 ; Time of day in which DST stops
    dst_auto_adjust: 1 ; Enable(1-Default)/Disable(0) DST automatic adjustment
    time_format_24hr: 1 ; Enable(1 – 24Hr Default)/Disable(0 – 12Hr)

    # Do Not Disturb Control (0-off, 1-on, 2-off with no user control, 3-on with no user control)
    dnd_control: 0 ; Default 0 (Do Not Disturb feature is off)

    # Caller ID Blocking (0-disbaled, 1-enabled, 2-disabled no user control, 3-enabled no user control)
    callerid_blocking: 0 ; Default 0 (Disable sending all calls as anonymous)

    # Anonymous Call Blocking (0-disabled, 1-enabled, 2-disabled no user control, 3-enabled no user control)
    anonymous_call_block: 0 ; Default 0 (Disable blocking of anonymous calls)

    # DTMF AVT Payload (Dynamic payload range for AVT tones – 96-127)
    dtmf_avt_payload: 101 ; Default 101

    # Sync value of the phone used for remote reset
    sync: 1 ; Default 1

    ####### New Parameters added in Release 2.1 #######

    # Backup Proxy Support
    proxy_backup: “sipgate.co.uk” ; Dotted IP of Backup Proxy
    proxy_backup_port: 5060 ; Backup Proxy port (default is 5060)

    # Emergency Proxy Support
    proxy_emergency: “sipgate.co.uk” ; Dotted IP of Emergency Proxy
    proxy_emergency_port: 5060 ; Emergency Proxy port (default is 5060)

    # Configurable VAD option
    enable_vad: 0 ; VAD setting 0-disable (Default), 1-enable

    ####### New Parameters added in Release 2.2 ######

    # NAT/Firewall Traversal
    nat_enable: 1 ; 0-Disabled (default), 1-Enabled
    nat_address: “” ; WAN IP address of NAT box (dotted IP or DNS A record only)
    voip_control_port: 5060 ; UDP port used for SIP messages (default – 5060)
    # start_media_port: 16384 ; Start RTP range for media (default – 16384)
    # end_media_port: 32766 ; End RTP range for media (default – 32766)
    nat_received_processing: 1 ; 0-Disabled (default), 1-Enabled

    # Outbound Proxy Support
    outbound_proxy: “proxy.live.sipgate.co.uk” ; restricted to dotted IP or DNS A record only
    outbound_proxy_port: 5060 ; default is 5060

    ####### New Parameter added in Release 3.0 #######

    # Allow for the bridge on a 3way call to join remaining parties upon hangup
    cnf_join_enable : 1 ; 0-Disabled, 1-Enabled (default)

    ####### New Parameters added in Release 3.1 #######

    # Allow Transfer to be completed while target phone is still ringing
    semi_attended_transfer: 1 ; 0-Disabled, 1-Enabled (default)

    # Telnet Level (enable or disable the ability to telnet into the phone)
    telnet_level: 2 ; 0-Disabled (default), 1-Enabled, 2-Privileged

    ####### New Parameters added in Release 4.0 #######

    # XML URLs
    services_url: “” ; URL for external Phone Services
    directory_url: “” ; URL for external Directory location
    logo_url: “” ; URL for branding logo to be used on phone display

    # HTTP Proxy Support
    # http_proxy_addr: “” ; Address of HTTP Proxy server
    # http_proxy_port: 80 ; Port of HTTP Proxy Server (80-default)

    # Dynamic DNS/TFTP Support
    dyn_dns_addr_1: “” ; restricted to dotted IP
    dyn_dns_addr_2: “” ; restricted to dotted IP
    dyn_tftp_addr: “” ; restricted to dotted IP

    # Remote Party ID
    remote_party_id: 0 ; 0-Disabled (default), 1-Enabled

    ####### New Parameters added in Release 4.4 #######

    # Call Hold Ringback (0-off, 1-on, 2-off with no user control, 3-on with no user control)
    call_hold_ringback: 0 ; Default 0 (Call Hold Ringback feature is off)

    ####### New Parameters added in Release 6.0 #######

    # Dialtone Stutter for MWI
    stutter_msg_waiting: 0 ; 0-Disabled (default), 1-Enabled

    # RTP Call Statistics (SIP BYE/200 OK message exchange)
    call_stats: 0 ; 0-Disabled (default), 1-Enabled

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    SIP001380FDC397.cnf

    image_version:P0S3-8-12-00

    # Line 1 Setup
    line1_name: “SipGate”
    line1_authname: “34343434”
    line1_shortname: “SipGate”
    line1_password: “xxxxxx”
    proxy1_address: “sipgate.co.uk”
    proxy1_port: “5060”
    line1_displayname: “VOIP Line 1”; # Line 1 Display Name (Display name to use for SIP messaging)

    # Line 2 Setup
    line2_name: “AnotherSip”
    line2_authname: “Voip2”
    line2_shortname: “Voip2”
    line2_password: “Voip2”
    line2_displayname: “VOIP Line 2”; # Line 2 Display Name (Display name to use for SIP messaging)
    proxy2_address: “222.33.22.11”
    proxy2_port: 5069

    # Phone Label (Text desired to be displayed in upper right corner)
    phone_label: “My 7960” ; Has no effect on SIP messaging
    phone_prompt: “MySIP Phone”

    # Phone Password (Password to be used for console or telnet login)
    phone_password: “cisco” ; Limited to 31 characters (Default – cisco)

    # User classifcation used when Registering [ none(default), phone, ip ]
    user_info: none
    telnet_level: 1

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    What is wrong with my configuration as non of the lines works. My priority is to fix Line 1 i.e. Sipgate at the moment but ideally to make both work.


  38. Mark! Many Thanks,

    I’d been flashing my phone for a week (new Cisgo 7960g (APP P0030301MFG2, Boot PC03010200 3.1(MFG@2).. till I read your blog…

    went back to version 6 of the SIP firmware as you suggested flashed 1st time then straight upgrade to P0S3-8-12-00 with no issues at all.. Happy camper I’d buy you a beer if you had paypal on this blog..

    Colm


  39. Hi Mark, I am having issues with incoming calls on Cisco 7960G on sipgate.co.uk service.

    Outgoing call seems to work perfectly,

    For Incoming calls, Phone rings but when you answer it. no voice transmission at all, i cant hear the caller nor the caller can hear me..

    Whats your thoughts ?

    Thanks
    Sachin


  40. Hi, i’m having a issue in Boot Load ID version in 7940 cisco phone. My requirement is

    APP LOAD ID: P00308010200
    BOOT LOAD ID: PC0303010100

    my app load is matching with firmware 8.1(2) but i’m unable to downgrade my BOOT LOAD ID that is PC0303010200 to PC0303010100.

    What i have to do now? Please help


  41. Hi Mark, I appreciate your valuable blog, thanks. I have one problem, cisco 7942 ip phone registration is not happening, it keeps showing registering..nothing happening,I am using Asterisk box without NAT.

    Here is my TFTPD32 logs:-

    Connection received from 192.168.2.103 on port 50079 [03/06 21:26:12.725]
    Read request for file . Mode octet [03/06 21:26:12.725]
    File : error 2 in system call CreateFile The system cannot find the file specified. [03/06 21:26:12.725]
    Connection received from 192.168.2.103 on port 50136 [03/06 21:26:12.795]
    Read request for file . Mode octet [03/06 21:26:12.795]
    File : error 2 in system call CreateFile The system cannot find the file specified. [03/06 21:26:12.795]
    Connection received from 192.168.2.103 on port 49924 [03/06 21:26:12.875]
    Read request for file . Mode octet [03/06 21:26:12.876]
    File : error 2 in system call CreateFile The system cannot find the file specified. [03/06 21:26:12.876]
    Connection received from 192.168.2.103 on port 51636 [03/06 21:26:13.114]
    Read request for file . Mode octet [03/06 21:26:13.115]
    Using local port 61629 [03/06 21:26:13.115]
    : sent 14 blks, 7036 bytes in 0 s. 0 blk resent [03/06 21:26:13.134]
    Connection received from 192.168.2.103 on port 51847 [03/06 21:26:17.087]
    Read request for file . Mode octet [03/06 21:26:17.088]
    Using local port 61630 [03/06 21:26:17.088]
    : sent 1 blk, 298 bytes in 0 s. 0 blk resent [03/06 21:26:17.091]
    Connection received from 192.168.2.103 on port 49753 [03/06 21:35:44.128]
    Read request for file . Mode octet [03/06 21:35:44.129]
    File : error 2 in system call CreateFile The system cannot find the file specified. [03/06 21:35:44.129]
    Connection received from 192.168.2.103 on port 50000 [03/06 21:35:44.204]
    Read request for file . Mode octet [03/06 21:35:44.205]
    File : error 2 in system call CreateFile The system cannot find the file specified. [03/06 21:35:44.205]
    Connection received from 192.168.2.103 on port 49557 [03/06 21:35:44.273]
    Read request for file . Mode octet [03/06 21:35:44.274]
    File : error 2 in system call CreateFile The system cannot find the file specified. [03/06 21:35:44.274]
    Connection received from 192.168.2.103 on port 52450 [03/06 21:35:44.518]
    Read request for file . Mode octet [03/06 21:35:44.519]
    Using local port 51006 [03/06 21:35:44.519]
    : sent 14 blks, 7026 bytes in 0 s. 0 blk resent [03/06 21:35:44.539]
    Connection received from 192.168.2.103 on port 52472 [03/06 21:35:47.623]
    Read request for file . Mode octet [03/06 21:35:47.624]
    File : error 2 in system call CreateFile The system cannot find the file specified. [03/06 21:35:47.624]
    Connection received from 192.168.2.103 on port 52957 [03/06 21:35:48.968]
    Read request for file . Mode octet [03/06 21:35:48.969]
    File : error 3 in system call CreateFile The system cannot find the path specified. [03/06 21:35:48.969]
    Connection received from 192.168.2.103 on port 50570 [03/06 21:35:52.397]
    Read request for file . Mode octet [03/06 21:35:52.398]
    Using local port 58138 [03/06 21:35:52.398]
    : sent 1 blk, 298 bytes in 0 s. 0 blk resent [03/06 21:35:52.400]


  42. Sorry Shameer, I haven’t any experience with the 7942s. One of the reasons I use a 7940 is because they are relatively easy to configure for this purpose but it’s been years since I got my hands on new Cisco hardware!

Leave a Reply