How do I access the web admin interface for my Cisco 7941 phone?

I know this isn’t specifically a FreePBX question, but I’m sure some of you have this phone model and if you could help me out I would be greatly appreicated.

How do I access the web admin interface for my Cisco 7941 phone?

When I go to the IP, I just get static info:
http://10.10.0.105/CGI/Java/Serviceability?adapter=device.statist

How can I get to the screen where I can edit things? and what is the default login for it?

TIA!

I don’t think there is a web admin on cisco phones…

You have to edit some xml files to configure.

There is an information page you can get to if it enabled in the xml file and then you just go to the IP of the phone.

That would explain why I couldn’t find it, LOL

Do you know how I get the XML files? I am getting with TFTP but I am not very familiar with that.

It’s a common mistake for anybody who used to use one connected to a Cisco Call Manager…

you could log in to a special call manager page for that extension and edit the settings nicely then submit them, once that it done it notifies the phone of the changes and they get uploaded.

But… you are not using Call manager…

Abe -

Have you not found your way to voip-info.org yet? They have extensive documentation on using Cisco endpoints with 3rd party servers.

Yes, Im looking at this page:
http://www.voip-info.org/wiki/view/Asterisk+phone+cisco+79x1+xml+configuration+files+for+SIP

But I dont see how to download the config files from the phone.

The phone downloads the config from the server. You have to have tftp running on the server, the phone requests the files at boot.

You can set the phone to the servers address manually (ok if you only have a few) or hand out the tftp address in DHCP (it’s option 66).

Thanks, I found that but its not letting me download the firmware from the Cisco site:
http://tools.cisco.com/support/downloads/go/ImageList.x?relVer=8.4(3)&mdfid=280083379&sftType=Session+Initiation+Protocol+(SIP)+Software&optPlat=&nodecount=2&edesignator=null&modelName=Cisco+Unified+IP+Phone+7941G&treeMdfId=278875240&treeName=Voice+and+Unified+Communications&modifmdfid=&imname=&hybrid=Y&imst=N&lr=Y

Are there any other ways to get the firmware?

Do you have a relationship with Cisco? The firmware is not for public download. If you don’t have an existing relationship with Cisco you will need to purchase a Smartnet contract on that phone ($7.99). CDW has all the SKU’s,

No, I just have the guest login for their site.

$250 for a phone and they make you pay for the firmware? Nuts!

Do you know which one I need?
http://www.cdw.com/shop/search/results.aspx?key=Smartnet&SortBy=PriceAsc&searchscope=All

If you purchased new hardware from Cisco or a Cisco certified rep you should have access (if you ask) for 90 days if I remember correctly. It’s been a while since we’ve played that game. We always get a full year of smartnet with every new equipment purchase so that we have firmware update access.

$7.50 for a year is NOTHING. At my last Job a smartnet contract for a 7960g was $99 per year per phone.

Well I found the firmware files, but the phone is not trying to get them.

I am using TFTP Desktop, in the log is say the following:
Aborted 10.10.0.105 C:\Program Files (x86)\TFTP Desktop\CTLSEP001AA193E86B.tlv Octet, Send 10.10.0.248 21 Jan 13:27 Error
Aborted 10.10.0.105 C:\Program Files (x86)\TFTP Desktop\SEP001AA193E86B.cnf.xml Octet, Send 10.10.0.248 21 Jan 13:27 Error
Aborted 10.10.0.105 C:\Program Files (x86)\TFTP Desktop\XmlDefault.cnf.xml Octet, Send 10.10.0.248 21 Jan 13:27 Error

And those aren’t even the firmware files, those must be the config files.

The firmware files are these, and I have them in C:\Program Files (x86)\TFTP:
apps41.8-4-0-79.sbn cvm41sip.8-4-0-79.sbn jar41sip.8-4-0-79.sbn term41.default.loads cnu41.8-4-0-79.sbn dsp41.8-4-0-79.sbn SIP41.8-4-1S.loads term61.default.loads

How can I get the phone to look for the firmware files on TFTP?

Thanks!

I was going to blog this… but here ya go…

You need a few files in the tftpboot directory to make it work:

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">P003-07-4-00</loadInformation8>  
<loadInformation7 model="IP Phone 7960">P003-07-4-00</loadInformation7> 
<loadInformation6 model="IP Phone 7961">SIP41.8-4-3S</loadInformation6>
<loadInformation5 model="IP Phone 7975">SIP41.8-3-2S</loadInformation5> 
<authenticationURL></authenticationURL>  
<directoryURL></directoryURL>  
<idleURL></idleURL>  
<informationURL></informationURL>  
<messagesURL></messagesURL>  
<servicesURL></servicesURL>  
</Default> 

dialplan.xml

<DIALTEMPLATE>
    <TEMPLATE MATCH="*" Timeout="5"/> <!-- Anything else -->
</DIALTEMPLATE>

cisco_softkey.xml

<softKeyCfg>
<versionStamp>11cdf71b-e9bc-4559-be88-94a266766601</versionStamp>
<typeSoftKey>
<softKeyDef keyID="Redial">
<tag>1</tag>
<eventID>1</eventID>
<helpID>301</helpID>
</softKeyDef>
<softKeyDef keyID="NewCall">
<tag>2</tag>
<eventID>2</eventID>
<helpID>302</helpID>
</softKeyDef>
<softKeyDef keyID="Hold">
<tag>3</tag>
<eventID>3</eventID>
<helpID>303</helpID>
</softKeyDef>
<softKeyDef keyID="Trnsfer">
<tag>4</tag>
<eventID>4</eventID>
<helpID>304</helpID>
</softKeyDef>
<softKeyDef keyID="CfwdAll">
<tag>5</tag>
<eventID>5</eventID>
<helpID>305</helpID>
</softKeyDef>
<softKeyDef keyID="CfwdBusy">
<tag>6</tag>
<eventID>6</eventID>
<helpID>306</helpID>
</softKeyDef>
<softKeyDef keyID="CfwdNoAnswer">
<tag>7</tag>
<eventID>7</eventID>
<helpID>307</helpID>
</softKeyDef>

// back
<softKeyDef keyID="&lt;&lt;">
<tag>8</tag>
<eventID>8</eventID>
<helpID>308</helpID>
</softKeyDef>
<softKeyDef keyID="EndCall">
<tag>9</tag>
<eventID>9</eventID>
<helpID>309</helpID>
</softKeyDef>
<softKeyDef keyID="Resume">
<tag>10</tag>
<eventID>10</eventID>
<helpID>310</helpID>
</softKeyDef>
<softKeyDef keyID="Answer">
<tag>11</tag>
<eventID>11</eventID>
<helpID>311</helpID>
</softKeyDef>
<softKeyDef keyID="Info">
<tag>12</tag>
<eventID>12</eventID>
<helpID>312</helpID>
</softKeyDef>
<softKeyDef keyID="Confrn">
<tag>13</tag>
<eventID>13</eventID>
<helpID>313</helpID>
</softKeyDef>
<softKeyDef keyID="Park">
<tag>14</tag>
<eventID>14</eventID>
<helpID>314</helpID>
</softKeyDef>
<softKeyDef keyID="Join">
<tag>15</tag>
<eventID>15</eventID>
<helpID>315</helpID>
</softKeyDef>
<softKeyDef keyID="MeetMe">


<tag>16</tag>
<eventID>16</eventID>
<helpID>316</helpID>
</softKeyDef>
<softKeyDef keyID="PickUp">
<tag>17</tag>
<eventID>17</eventID>
<helpID>317</helpID>
</softKeyDef>
<softKeyDef keyID="GPickUp">
<tag>18</tag>
<eventID>18</eventID>
<helpID>318</helpID>
</softKeyDef>
// remove last conference party
<softKeyDef keyID="RmLstC">
<tag>57</tag>
<eventID>19</eventID>
<helpID>319</helpID>
</softKeyDef>
<softKeyDef keyID="Barge">
<tag>67</tag>
<eventID>21</eventID>
<helpID>321</helpID>
</softKeyDef>
<softKeyDef keyID="DirTrfr">
<tag>77</tag>
<eventID>28</eventID>
<helpID>328</helpID>
</softKeyDef>
<softKeyDef keyID="Select">
<tag>78</tag>
<eventID>29</eventID>
<helpID>329</helpID>
</softKeyDef>
<softKeyDef keyID="ConfList">
<tag>79</tag>
<eventID>30</eventID>
<helpID>330</helpID>
</softKeyDef>
<softKeyDef keyID="VidMode">
<tag>88</tag>
<eventID>33</eventID>
<helpID>333</helpID>
</softKeyDef>
<softKeyDef keyID="ImmDiv">
<tag>59</tag>
<eventID>65</eventID>
<helpID>365</helpID>
</softKeyDef>
<softKeyDef keyID="Intrcpt">
<tag>60</tag>
<eventID>66</eventID>
<helpID>366</helpID>
</softKeyDef>
<softKeyDef keyID="SetWtch">
<tag>61</tag>
<eventID>67</eventID>
<helpID>367</helpID>
</softKeyDef>
<softKeyDef keyID="TrnsfVM">
<tag>62</tag>
<eventID>68</eventID>
<helpID>368</helpID>
</softKeyDef>
<softKeyDef keyID="DND">
<tag>63</tag>
<eventID>69</eventID>
<helpID>369</helpID>
</softKeyDef>
<softKeyDef keyID="DivAll">
<tag>64</tag>
<eventID>70</eventID>
<helpID>370</helpID>
</softKeyDef>
</typeSoftKey>
<softKeySets>
<softKeySet id="On Hook">
<softKey keyID="Redial"></softKey>
<softKey keyID="NewCall"></softKey>
<softKey keyID="Intrcpt"></softKey>
<softKey keyID="DND"></softKey>
<softKey keyID="CfwdAll"></softKey>
<softKey keyID="DivAll"></softKey>
<softKey keyID="SetWtch"></softKey>
</softKeySet>
<softKeySet id="Connected">
<softKey keyID="Hold"></softKey>
<softKey keyID="EndCall"></softKey>
<softKey keyID="Intrcpt"></softKey>
<softKey keyID="ImmDiv"></softKey>
<softKey keyID="Confrn"></softKey>
<softKey keyID="ConfList"></softKey>
<softKey keyID="Trnsfer"></softKey>
<softKey keyID="TrnsfVM"></softKey>
<softKey keyID="DND"></softKey>
<softKey keyID="Select"></softKey>
<softKey keyID="Join"></softKey>
<softKey keyID="DirTrfr"></softKey>
<softKey keyID="RmLstC"></softKey>
<softKey keyID="Park"></softKey>
<softKey keyID="DivAll"></softKey>
<softKey keyID="SetWtch"></softKey>
</softKeySet>
<softKeySet id="On Hold">
<softKey keyID="Resume"></softKey>
<softKey keyID="NewCall"></softKey>
<softKey keyID="Intrcpt"></softKey>
<softKey keyID="TrnsfVM"></softKey>
<softKey keyID="ImmDiv"></softKey>
<softKey keyID="DND"></softKey>
<softKey keyID="Select"></softKey>
<softKey keyID="Join"></softKey>
<softKey keyID="DirTrfr"></softKey>
<softKey keyID="SetWtch"></softKey>
</softKeySet>
<softKeySet id="Ring In">
<softKey keyID="Answer"></softKey>
<softKey keyID="ImmDiv"></softKey>
<softKey keyID="CfwdBusy"></softKey>
<softKey keyID="TrnsfVM"></softKey>
<softKey keyID="DivAll"></softKey>
<softKey keyID="DND"></softKey>
<softKey keyID="SetWtch"></softKey>
</softKeySet>
<softKeySet id="Off Hook">
<softKey keyID="Redial"></softKey>
<softKey keyID="EndCall"></softKey>
<softKey keyID="Intrcpt"></softKey>
<softKey keyID="PickUp"></softKey>
<softKey keyID="GPickUp"></softKey>
<softKey keyID="CfwdAll"></softKey>
<softKey keyID="MeetMe"></softKey>
</softKeySet>
<softKeySet id="Connected Transfer">
<softKey keyID="Intrcpt"></softKey>
<softKey keyID="EndCall"></softKey>
<softKey keyID="Trnsfer"></softKey>
</softKeySet>
<softKeySet id="Digits After First">
<softKey keyID="&lt;&lt;"></softKey>
<softKey keyID="EndCall"></softKey>
<softKey keyID="Intrcpt"></softKey>
</softKeySet>
<softKeySet id="Connected Conference">
<softKey keyID="Intrcpt"></softKey>
<softKey keyID="EndCall"></softKey>
<softKey keyID="Confrn"></softKey>
</softKeySet>
<softKeySet id="Ring Out">
<softKey keyID="EndCall"></softKey>
<softKey keyID="Intrcpt"></softKey>
</softKeySet>
<softKeySet id="Off Hook With Feature">
<softKey keyID="Redial"></softKey>
<softKey keyID="EndCall"></softKey>
<softKey keyID="Intrcpt"></softKey>
</softKeySet>
<softKeySet id="Remote In Use">
<softKey keyID="Barge"></softKey>
<softKey keyID="NewCall"></softKey>
<softKey keyID="cBarge"></softKey>
</softKeySet>
</softKeySets>
</softKeyCfg> 

And the major one is the the SEP"MACofPhone".cnf.xml without the “”

<device xsi:type="axl:XIPPhone" ctiid="203849429" uuid="{96f8508b-10ef-f98c-d20d-001E4A920421}"> 
<fullConfig>true</fullConfig> 
<deviceProtocol>SIP</deviceProtocol> 
<sshUserId>user</sshUserId> 
<sshPassword>pass</sshPassword> 
<devicePool>
  <dateTimeSetting>
     <dateTemplate>D-M-YA</dateTemplate>
     <timeZone>Pacific Standard/Daylight Time</timeZone>
     <ntps>
        <ntp>
            <name>ntpserverIP</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>PBXserverIP</processNodeName>
              </callManager>
           </member>
        </members>
     </callManagerGroup> 
</devicePool> 
<sipProfile>
     <sipProxies>
        <backupProxy></backupProxy>
        <backupProxyPort></backupProxyPort>
        <emergencyProxy></emergencyProxy>
        <emergencyProxyPort></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> 
  </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>1</autoAnswerTimer>
     <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
     <autoAnswerOverride>true</autoAnswerOverride>
     <transferOnhookEnabled>false</transferOnhookEnabled>
     <enableVad>false</enableVad>
     <preferredCodec>g711</preferredCodec> 
     <dtmfAvtPayload>101</dtmfAvtPayload>
     <dtmfDbLevel>3</dtmfDbLevel>
     <dtmfOutofBand>avt</dtmfOutofBand>
     <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
     <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
     <kpml>3</kpml> 
     <phoneLabel>Titanium</phoneLabel> 
     <stutterMsgWaiting>2</stutterMsgWaiting> 
     <callStats>false</callStats> 
     <offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer> 
     <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts> 
     <disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig> 
     <startMediaPort>10001</startMediaPort> 
     <stopMediaPort>20000</stopMediaPort> 
  
  
      <sipLines>
       <line
        button="1">
          <featureID>9</featureID>
          <featureLabel>Asterisk</featureLabel>
          <proxy>PBXserverIP</proxy>
          <port>5060</port>
          <name>ext#</name> 
          <displayName>DisplayName</displayName>
          <autoAnswer>
             <autoAnswerEnabled>2</autoAnswerEnabled>
         </autoAnswer>
         <callWaiting>3</callWaiting>
         <authName>ext#</authName>
          <authPassword>XXXX</authPassword>

          <sharedLine>false</sharedLine>
          <messageWaitingLampPolicy>1</messageWaitingLampPolicy>
          <messagesNumber>*97</messagesNumber>
          <ringSettingIdle>4</ringSettingIdle>
          <ringSettingActive>5</ringSettingActive>
          <contact>1109</contact>
          <forwardCallInfoDisplay>
             <callerName>true</callerName>
             <callerNumber>false</callerNumber>
             <redirectedNumber>false</redirectedNumber>
             <dialedNumber>true</dialedNumber>
          </forwardCallInfoDisplay>
      </line>
   </sipLines> 

     <voipControlPort>5060</voipControlPort>
     <dscpForAudio>184</dscpForAudio>
     <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
     <dialTemplate>dialplan.xml</dialTemplate> 
     <softKeyFile>cisco_softkey.xml</softKeyFile>
  </sipProfile>

  <commonProfile>
     <phonePassword></phonePassword>
     <backgroundImageAccess>true</backgroundImageAccess>
     <callLogBlfEnabled>2</callLogBlfEnabled>
  </commonProfile>

  <loadInformation>SIP41.8-4-3S</loadInformation> 

  <vendorConfig>

     <disableSpeaker>false</disableSpeaker>

     <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>

     <pcPort>0</pcPort>

     <settingsAccess>1</settingsAccess>

     <garp>0</garp>

     <voiceVlanAccess>0</voiceVlanAccess>
     <videoCapability>0</videoCapability>
     <autoSelectLineEnable>0</autoSelectLineEnable>

     <webAccess>1</webAccess>
     <daysDisplayNotActive>1,2,3,4,5,6,7</daysDisplayNotActive>
     <displayOnTime>08:00</displayOnTime>
     <displayOnDuration>10:30</displayOnDuration>
     <displayIdleTimeout>01:00</displayIdleTimeout>
     <spanToPCPort>1</spanToPCPort>
     <loggingDisplay>1</loggingDisplay>
     <loadServer></loadServer>
  </vendorConfig>

  <versionStamp>1143565489-a3cbf294-7526-4c29-8791-001E4A920421</versionStamp>
  <networkLocale>English_United_States</networkLocale>

  <networkLocaleInfo>
     <name>en_US</name>
     <version>5.0(2)</version>
  </networkLocaleInfo>

  <deviceSecurityMode>1</deviceSecurityMode>
  <authenticationURL>http://PBXserverIP/authenticate.php</authenticationURL>
  <directoryURL>http://www/ipphone/directory.xml</directoryURL>
  <idleURL></idleURL>
  <informationURL>http://www/ipphone/GetTelecasterHelpText.jsp</informationURL>

  <messagesURL></messagesURL>
  <proxyServerURL>proxy:3128</proxyServerURL>
  <servicesURL>http://www/ipphone/services.xml</servicesURL>
  <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
  <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
  <dscpForCm2Dvce>96</dscpForCm2Dvce>
  <transportLayerProtocol>4</transportLayerProtocol>

  <capfAuthMode>0</capfAuthMode>
  <capfList>
     <capf>
        <phonePort>3804</phonePort>
     </capf>
  </capfList>

  <certHash></certHash>
  <encrConfig>false</encrConfig>

</device> 

Change the ext#, auth, PBXserverIP and the software load match yours in the XML default and this last file…

If the phone is point via DHCP at you tftp server (pbx?) then this should at least get you going.

I have used this with 7940, 60, 61 and 75.

Where did you buy your phone from? You have to be very careful of unauthorized resellers (such as VoipSupply) that are not Cisco partners. Any Cisco part with an = at the end of the part number is a service spare, designed to replace a licensed product and is sold without any licensing.

Cisco has never clarified the requirements for licensing (or relicensing) SIP product on non-Cisco servers. The license that is included with a Cisco phone is a Call Manager seat and does not specifically give you the right to install Cisco code on your Asterisk server.

Clearly Cisco does not want this business, the SIP feature set is very weak. It’s sad because they are far and away the nicest phones to use and to look at.

Wow, thanks!!! Big help.

It loaded most of the files now, but I dont have 3 thats its looking for, and on the phone it says Registering, and there is no dial tone.

I’m not sure the .tlv files matters, but I think it would need mk-sip.jar, however that wasn’t in the zip of the firmware I downloaded. Do you know where I can get that one?

Aborted 10.10.0.106 c:\Temp\CTLSEP001AA193E86B.tlv Octet, Send 10.10.0.248 21 Jan 18:41 Error
Complete 10.10.0.106 c:\Temp\SEP001AA193E86B.cnf.xml Octet, Send 10.10.0.248 21 Jan 18:41 1sec.
Aborted 10.10.0.106 c:\Temp\mk-sip.jar Octet, Send 10.10.0.248 21 Jan 18:41 Error
Aborted 10.10.0.106 c:\Temp\en_US\g3-tones.xml Octet, Send 10.10.0.248 21 Jan 18:41 Error
Complete 10.10.0.106 c:\Temp\dialplan.xml Octet, Send 10.10.0.248 21 Jan 18:41 1sec.
Complete 10.10.0.106 c:\Temp\cisco_softkey.xml Octet, Send 10.10.0.248 21 Jan 18:41 1sec.

Unfortunately I bought this phone on ebay.

Do you have nat = no in the FreePBX extension for that phone?

Abe,

You did not answer any of my questions. You probably got an incomplete package of the software.

The versions floating out on the web are usually. Some are purposely messed up to brick your phone.

I agree with SkyKing in that you don’t have the Firmware files you need.

Or you have bogus files.