cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
6829
Views
5
Helpful
16
Replies

[CLOSED] CP-8941 manual firmware upgrade without CUCM

Sascha Goldner
Level 1
Level 1

Dear all,

I need to upgrade a firmware of a CP-8941 phone from SIP 9-3-4-17 to the latest release (cmterm-894x-sip.9-4-2SR2-2.zip) without the CUCM.

I setup a free tftp-server on my PC, extracted all the files to the tftp-homedirectory and booted the phone which is directly attached to PC.

My expectation was that during the boot process of the phone the new firmware is automatically transfered to the phone and installed.

In the "administrator setting" of the phone the right IP of the tftp server is shown in "TFTP Server 1", but somehow the new firmware is not installed.

 

I checked if the tftp is working at all which is the case. I can transfer files from and to the tftp server.

Any hints?

 

1 Accepted Solution

Accepted Solutions

Leo Laohoo
Hall of Fame
Hall of Fame
I need to upgrade a firmware of a CP-8941 phone from SIP 9-3-4-17 to the latest release (cmterm-894x-sip.9-4-2SR2-2.zip) without the CUCM.

I setup a free tftp-server on my PC, extracted all the files to the tftp-homedirectory and booted the phone which is directly attached to PC.

This can be achieved but the SIP firmwares are not the only files required.  You need to create a SEPmacaddres.cnf.xml (where "macaddress" is the MAC address of the phone).  

 

The file will contain the line XML tag of "<loadInformation>sip894x.9-4-2SR2-2</loadInformation>".

 

Next you need to configure DHCP Option 150 and specify the IP address of the TFTP server where all the files are located.

 

Exactly what are you trying to achieve?  Are you trying to get the phone to register to a 3rd party call manager server (like 3CX or Asterisk)?

I don't see how that's possible.

Oh yes, this is very much achievable.  I've done this several times.  

View solution in original post

16 Replies 16

Ayodeji Okanlawon
VIP Alumni
VIP Alumni

Did you configure the load server of the phone? Go to CUCM, scroll down to load server (under product specific configuration lay out) and add the ip address of your tftp server

Please rate all useful posts

thx for ur reply, but there is no CUCM available. I want to connect the phone to a non-Cisco VoIP-server and before that I'd like to upgrade the firmware just by using a plain tftp server.

Hi Sascha.

What kind of tftp  are you using.

If you look at tftp logs, can you see IP phone contacting the tftp server?

 

 

Let me know

 

 

Regards

 

Carlo

Please rate all helpful posts "The more you help the more you learn"

Hi Carlo,

 

i use tftpd32. The phone connects but I receive the following errors:

Connection received from 192.168.0.104 on port 51546 [10/10 15:05:41.858]
Read request for file <CTLSEP1CE6C79BFE41.tlv>. Mode octet [10/10 15:05:41.858]
File <CTLSEP1CE6C79BFE41.tlv> : error 2 in system call CreateFile. The system cannot find the file [10/10 15:05:41.858]
Connection received from 192.168.0.104 on port 39363 [10/10 15:05:49.388]
Read request for file <ITLSEP1CE6C79BFE41.tlv>. Mode octet [10/10 15:05:49.388]
File <ITLSEP1CE6C79BFE41.tlv> : error 2 in system call CreateFile The system cannot find the file [10/10 15:05:49.388]
Connection received from 192.168.0.104 on port 39123 [10/10 15:05:56.919]
Read request for file <ITLFile.tlv>. Mode octet [10/10 15:05:56.919]
File <ITLFile.tlv> : error 2 in system call CreateFile DThe system cannot find the file [10/10 15:05:56.919]
Connection received from 192.168.0.104 on port 34948 [10/10 15:06:04.448]
Read request for file <SEP1CE6C79BFE41.cnf.xml>. Mode octet [10/10 15:06:04.449]
File <SEP1CE6C79BFE41.cnf.xml> : error 2 in system call CreateFile The system cannot find the file [10/10 15:06:04.449]

I checked the functionality of the tftp-server. I can transfer files from one pc to another just fine.

 

This is because the phone has a tftp server configured but doesn't have a load server. The phone uses its load server field to determine where to download it's firmware files from. If the load server is empty then it download it's firmware from tftp. In this setup there is no way to tel the phone what it's load server is. 

The phone will just continue to contact the tftp server for its configuration, it will never request firmware. You need cucm to use th e load server 

 

 

Please rate all useful posts

just that I understand right: there is no way to upgrade the phone using just a tftp?

or do I need to set the load server field?

 

with a CUCM it would work like a charm I guess, right?

No,  you can use a tftp server that is not cucm, but you need to tell the phone to use that server. The only way to do that is to use the load server field in cucm. So you need cucm. 

 

Please rate all useful posts

I don't see how that's possible. The phone needs a load server. It needs to know where to get its firmware from.. 

Please rate all useful posts

Leo Laohoo
Hall of Fame
Hall of Fame
I need to upgrade a firmware of a CP-8941 phone from SIP 9-3-4-17 to the latest release (cmterm-894x-sip.9-4-2SR2-2.zip) without the CUCM.

I setup a free tftp-server on my PC, extracted all the files to the tftp-homedirectory and booted the phone which is directly attached to PC.

This can be achieved but the SIP firmwares are not the only files required.  You need to create a SEPmacaddres.cnf.xml (where "macaddress" is the MAC address of the phone).  

 

The file will contain the line XML tag of "<loadInformation>sip894x.9-4-2SR2-2</loadInformation>".

 

Next you need to configure DHCP Option 150 and specify the IP address of the TFTP server where all the files are located.

 

Exactly what are you trying to achieve?  Are you trying to get the phone to register to a 3rd party call manager server (like 3CX or Asterisk)?

I don't see how that's possible.

Oh yes, this is very much achievable.  I've done this several times.  

still no luck....I have the xml-file now and provided the TFTP manually in the phone's settings as alternative tftp server

the connection to the tftp-server is made but nothing obvious happens:

Connection received from 192.168.0.131 on port 37349 [11/10 14:04:26.870]
Read request for file <SEP1CE6C79BFE41.cnf.xml>. Mode octet [11/10 14:04:26.871]
Using local port 55208 [11/10 14:04:26.871]
<SEP1CE6C79BFE41.cnf.xml>: sent 21 blks, 10585 bytes in 0 s. 0 blk resent [11/10 14:04:26.893]
Connection received from 192.168.0.131 on port 33804 [11/10 14:04:35.111]
Read request for file <CTLSEP1CE6C79BFE41.tlv>. Mode octet [11/10 14:04:35.111]
File <CTLSEP1CE6C79BFE41.tlv> : error 2 in system call CreateFile The system cannot find the file. [11/10 14:04:35.111]

 

 

my SEP1CE6C79BFE41.cnf.xml looks like this:



<?xml version="1.0" encoding="UTF-8"?>
<device>
<deviceProtocol>SIP</deviceProtocol>
  <sshUserId>cisco</sshUserId>
  <sshPassword>cisco</sshPassword>
  <devicePool>
        <dateTimeSetting>
            <dateTemplate>D-M-YA:HH:MM</dateTemplate>
         <timeZone></timeZone>
         <ntps>
              <ntp>
                   <name>ntp.myfloridacity.us</name>
                  <ntpMode>Unicast</ntpMode>
              </ntp>
         </ntps>
        </dateTimeSetting>
     <callManagerGroup>
        <members>
           <member priority="0">
              <callManager>
                 <ports>
                    <ethernetPhonePort>2000</ethernetPhonePort>
                    <sipPort>5060</sipPort>
                    <securedSipPort>5061</securedSipPort>
                 </ports>
                 <processNodeName>our Asterisk Box</processNodeName>
              </callManager>
           </member>
        </members>
     </callManagerGroup>
  </devicePool>
  <commonProfile>
     <phonePassword></phonePassword>
     <backgroundImageAccess>true</backgroundImageAccess>
     <callLogBlfEnabled>2</callLogBlfEnabled>
  </commonProfile>
  <loadInformation>SIP894x.9-4-2SR2-2</loadInformation>
  <featurePolicyFile></featurePolicyFile>
  <vendorConfig>
     <disableSpeaker>false</disableSpeaker>
     <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
     <pcPort>0</pcPort>
     <settingsAccess>1</settingsAccess>
     <garp>0</garp>
     <voiceVlanAccess>0</voiceVlanAccess>
     <ciscoCamera>1</ciscoCamera>
     <videoCapability>1</videoCapability>
     <usbClasses>0,1,2</usbClasses>
     <sdio>1</sdio>
     <wifi>0</wifi>
     <bluetoothProfile>0,1</bluetoothProfile>
     <powerNegotiation>0</powerNegotiation>
     <autoSelectLineEnable>0</autoSelectLineEnable>
     <webAccess>0</webAccess>
     <sshAccess>0</sshAccess>
     <sshPort>22</sshPort>
     <g722CodecSupport></g722CodecSupport>
     <daysDisplayNotActive>1,7</daysDisplayNotActive>
     <displayOnTime>07:00</displayOnTime>
     <displayOnDuration>12:00</displayOnDuration>
     <displayIdleTimeout>00:15</displayIdleTimeout>
     <displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
     <spanToPCPort>1</spanToPCPort>
     <loggingDisplay>1</loggingDisplay>
     <loadServer></loadServer>
  </vendorConfig>
  <commonConfig>
     <usb1>1</usb1>
     <usb2>1</usb2>
     <ciscoCamera>0</ciscoCamera>
     <usbClasses>0,1,2</usbClasses>
     <sdio>1</sdio>
     <bluetooth>1</bluetooth>
     <wifi>0</wifi>
     <bluetoothProfile>0,1</bluetoothProfile>
     <joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
  </commonConfig>
  <enterpriseConfig>
     <usb1>1</usb1>
     <usb2>1</usb2>
     <ciscoCamera>0</ciscoCamera>
     <usbClasses>0,1,2</usbClasses>
     <sdio>1</sdio>
     <bluetooth>1</bluetooth>
     <wifi>0</wifi>
     <bluetoothProfile>0,1</bluetoothProfile>
     <joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
     <videoCapability>0</videoCapability>
     <webAccess>0</webAccess>
     <eapAuthentication>2</eapAuthentication>
     <webProtocol>0</webProtocol>
  </enterpriseConfig>
  <advertiseG722Codec></advertiseG722Codec>
  <networkLocale>United_States</networkLocale>
    <networkLocaleInfo>
        <name>United_States</name>
        <uid>64</uid>
        <version>1.0.0.0-1</version>
    </networkLocaleInfo>
  <deviceSecurityMode>1</deviceSecurityMode>
  <idleTimeout>0</idleTimeout>
  <authenticationURL></authenticationURL>
  <directoryURL></directoryURL>
  <idleURL></idleURL>
  <informationURL></informationURL>
  <messagesNumber></messagesNumber>  
  <messagesURL></messagesURL>
  <proxyServerURL></proxyServerURL>
  <servicesURL>http://cisco.internect.net/</servicesURL>
  <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
  <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
  <dscpForCm2Dvce>96</dscpForCm2Dvce>
  <transportLayerProtocol>0</transportLayerProtocol>
  <dndCallAlert>5</dndCallAlert>
  <phonePersonalization>1</phonePersonalization>
  <rollover>0</rollover>
  <singleButtonBarge>0</singleButtonBarge>
  <joinAcrossLines>1</joinAcrossLines>
  <autoCallPickupEnable>false</autoCallPickupEnable>
  <blfAudibleAlertSettingOfIdleStation>0</blfAudibleAlertSettingOfIdleStation>
  <blfAudibleAlertSettingOfBusyStation>0</blfAudibleAlertSettingOfBusyStation>
  <capfAuthMode>0</capfAuthMode>
  <capfList>
     <capf>
        <phonePort>3804</phonePort>
     </capf>
  </capfList>
  <certHash></certHash>
  <encrConfig>false</encrConfig>
  <sipProfile>
     <sipProxies>
        <backupProxy>192.168.0.1</backupProxy>
        <backupProxyPort>5060</backupProxyPort>
        <emergencyProxy>192.168.0.1</emergencyProxy>
        <emergencyProxyPort>5060</emergencyProxyPort>
        <outboundProxy></outboundProxy>
        <outboundProxyPort></outboundProxyPort>
        <registerWithProxy>true</registerWithProxy>
     </sipProxies>
     <sipCallFeatures>
        <cnfJoinEnabled>true</cnfJoinEnabled>
        <callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI>
        <callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
        <callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
        <callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
        <meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
        <abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
        <rfc2543Hold>false</rfc2543Hold>
        <callHoldRingback>2</callHoldRingback>
        <localCfwdEnable>true</localCfwdEnable>
        <semiAttendedTransfer>true</semiAttendedTransfer>
        <anonymousCallBlock>2</anonymousCallBlock>
        <callerIdBlocking>2</callerIdBlocking>
        <dndControl>0</dndControl>
        <remoteCcEnable>true</remoteCcEnable>
    <retainForwardInformation>true</retainForwardInformation>
     </sipCallFeatures>
     <sipStack>
        <sipInviteRetx>6</sipInviteRetx>
        <sipRetx>10</sipRetx>
        <timerInviteExpires>180</timerInviteExpires>
        <timerRegisterExpires>3600</timerRegisterExpires>
        <timerRegisterDelta>5</timerRegisterDelta>
        <timerKeepAliveExpires>120</timerKeepAliveExpires>
        <timerSubscribeExpires>120</timerSubscribeExpires>
        <timerSubscribeDelta>5</timerSubscribeDelta>
        <timerT1>500</timerT1>
        <timerT2>4000</timerT2>
        <maxRedirects>70</maxRedirects>
        <remotePartyID>false</remotePartyID>
        <userInfo>None</userInfo>
     </sipStack>
     <autoAnswerTimer>0</autoAnswerTimer>
     <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
     <autoAnswerOverride>true</autoAnswerOverride>
     <transferOnhookEnabled>false</transferOnhookEnabled>
     <enableVad>false</enableVad>
     <preferredCodec>g711ulaw</preferredCodec>
     <dtmfAvtPayload>101</dtmfAvtPayload>
     <dtmfDbLevel>3</dtmfDbLevel>
     <dtmfOutofBand>avt</dtmfOutofBand>
     <alwaysUsePrimeLine>true</alwaysUsePrimeLine>
     <alwaysUsePrimeLineVoiceMail>true</alwaysUsePrimeLineVoiceMail>
     <kpml>3</kpml>
     <natEnabled>false</natEnabled>
     <natAddress></natAddress>
     <stutterMsgWaiting>2</stutterMsgWaiting>
     <callStats>false</callStats>
     <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
     <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
     <startMediaPort>10000</startMediaPort>
     <stopMediaPort>20000</stopMediaPort>
     <voipControlPort>5060</voipControlPort>
     <dscpForAudio>184</dscpForAudio>
     <dscpVideo>136</dscpVideo>
     <dscpForTelepresence>128</dscpForTelepresence>
     <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
     <softKeyFile>softkey.xml</softKeyFile>
     <dialTemplate>dialplan.xml</dialTemplate>
     <phoneLabel>Finance</phoneLabel>
     <sipLines>
        <line button="1" lineIndex="1">
           <featureID>9</featureID>
           <featureLabel>1131</featureLabel>
           <name>1131</name>
           <displayName>1131</displayName>
           <contact>1131</contact>
           <proxy>Our Asterisk Box</proxy>
           <port>5060</port>
           <autoAnswer>
              <autoAnswerEnabled>2</autoAnswerEnabled>
           </autoAnswer>
           <callWaiting>3</callWaiting>
           <authName>1131</authName>
           <authPassword></authPassword>
           <sharedLine>false</sharedLine>
           <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
           <messageWaitingAMWI>1</messageWaitingAMWI>
           <messagesNumber>111</messagesNumber>
           <ringSettingIdle>4</ringSettingIdle>
           <ringSettingActive>5</ringSettingActive>
           <forwardCallInfoDisplay>
              <callerName>true</callerName>
              <callerNumber>false</callerNumber>
              <redirectedNumber>false</redirectedNumber>
              <dialedNumber>true</dialedNumber>
           </forwardCallInfoDisplay>
            <maxNumCalls>4</maxNumCalls>
            <busyTrigger>2</busyTrigger>
        </line>
        <line  button="3">
                        <featureID>21</featureID>
                        <featureLabel>1132</featureLabel>
                        <speedDialNumber>1132</speedDialNumber>
                        <featureOptionMask>1</featureOptionMask>
        </line>
        <line  button="4">
                        <featureID>21</featureID>
                        <featureLabel>LABEL BUTTON 2</featureLabel>
                        <speedDialNumber>EXTENSION OR NUMBER</speedDialNumber>
                        <featureOptionMask>1</featureOptionMask>
        </line>
        <line  button="5">
                        <featureID>21</featureID>
                        <featureLabel>LABEL BUTTON 3</featureLabel>
                        <speedDialNumber>EXTENSION OR NUMBER</speedDialNumber>
                        <featureOptionMask>1</featureOptionMask>
                </line>
        <line  button="6">
                        <featureID>21</featureID>
                        <featureLabel>Voice Mail</featureLabel>
                        <speedDialNumber>VOICE MAIL NUMBER</speedDialNumber>
        </line>
    </sipLines>
  </sipProfile>
    <phoneServices>
     <provisioning>0</provisioning>
         <phoneService  type="1" category="0">
             <name>Missed Calls</name>
             <url>Application:Cisco/MissedCalls</url>
            <vendor></vendor>
             <version></version>
         </phoneService>
    <phoneService  type="2" category="0">
        <name>Voicemail</name>
        <url>Application:Cisco/Voicemail</url>
        <vendor></vendor>
        <version></version>
    </phoneService>
    <phoneService  type="1" category="0">
        <name>Received Calls</name>
        <url>Application:Cisco/ReceivedCalls</url>
        <vendor></vendor>
        <version></version>
    </phoneService>
    
</device>

I added the file XMLDefault.cnf.xml and no it works!



<?xml version="1.0" encoding="utf-8" ?>
<Default>
    <callManagerGroup>
    <members>
        <member priority="0">
            <callManager>
                <ports>
                    <ethernetPhonePort>2000</ethernetPhonePort>
                </ports>
                <processNodeName>192.168.0.1</processNodeName>
            </callManager>
        </member>
    </members>
    </callManagerGroup>
    <loadInformation model="Cisco IP Phone 8941">SIP894x.9-4-2SR2-2</loadInformation>
</Default>

Hi Sascha.

Glad you solved your issue.

Please mark as answered Leo solution so that others with the same problem can have this thread as point of reference 

 

 

Thanks

 

 

Cheers

 

 

Carlo

Please rate all helpful posts "The more you help the more you learn"

<loadInformation>SIP8941_8945.9-3-4-17</loadInformation>

Mea culpa.  The <loadinformation> XML tag I've provided was incorrect.  Please change it to the value highlighted in RED above.

I added the file XMLDefault.cnf.xml and no it works! 

SIP firmware version 9.0 and later DO NOT use XMLDefault.cnf.xml anymore.  

<transportLayerProtocol>0</transportLayerProtocol>

The value "0" is an invalid value.  The phone will NEVER associate to anything.  When it comes to Cisco phones it's either ALL XML tags must be (emphasis on the phrase "must be") correct.  If just one (1) XML tag is incorrect and the entire configuration is rejected by the phone.  

 

The value is either 1 (for TCP), 2 (for UDP) or 4 (TCP or UDP).  Do NOT be tempted to use 4 as it will cause issues.   Since the SEPmacaddress.cnf.xml does NOT have an XML tag value of "USECALLMANAGER" (all caps is required) I am presuming TCP is the transport therefore the XML Tag <transportLayerProtocol> should have a value of 1.  

 

 

Ayodeji Okanlawon
VIP Alumni
VIP Alumni

Leo, 

Yes that makes sense.Since the phone uses its configuration file to know which load to download. I didn't realise you could just put a single xml field in there.. Nice one and thanks for correcting me. 

Please rate all useful posts
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: