10-09-2015 09:07 AM - edited 03-17-2019 04:32 AM
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?
Solved! Go to Solution.
10-10-2015 05:07 PM
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.
10-09-2015 09:21 AM
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
10-10-2015 05:37 AM
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.
10-10-2015 05:46 AM
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
10-10-2015 06:08 AM
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.
10-10-2015 06:25 AM
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
10-10-2015 06:28 AM
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?
10-10-2015 06:28 AM
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.
10-10-2015 05:49 AM
I don't see how that's possible. The phone needs a load server. It needs to know where to get its firmware from..
10-10-2015 05:07 PM
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.
10-11-2015 05:07 AM
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>
10-11-2015 10:39 AM
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>
10-11-2015 10:52 AM
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
10-11-2015 04:45 PM
<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.
10-11-2015 01:32 AM
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.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide