Cisco IP Phone 7940 - NonaSuomy/PuRe GitHub Wiki

Category:Cisco Duplication of 7961 this will change just a place holder for now 7940 uses flat txt files not xml...

Table of Contents

Factory Reset

*Caution do not do this if you have no firmware to load on device as you will no longer have options to set on the phone or any firmware etc and be stuck in a loop until you find firmware and reload from a TFTP Server.

Unplug phone, then plug in phone, push # right away and hold till lights alternate on the 6 Keys to the right or the display.

While in this mode you can load firmware off a TFTP Server.

Unlocking and Locking Options

Configuration options that can be changed from a phone are locked by default to prevent users from making changes that could affect the operation of a phone. You must unlock these options before you can change them.

When options are inaccessible for modification, a locked padlock icon appears on the configuration menus. When options are unlocked and accessible for modification, an unlocked padlock icon appears on these menus.

To unlock or lock options, press **#. This action either locks or unlocks the options, depending on the previous state.

TFTP Server Setup

1. Install tftp server using the following command

 yum -y install tftp-server

2. Open /etc/xinetd.d/tftp file using any text editor and make

 disable                 = no

3. Start xinetd server (because tftpd is sub service of that xinetd)

Start XINETD

 service xinetd start

4. Check whether the tftp port 69 using the following command

 netstat -nulp | grep 69

5. If selinux is not disabled by default, use the following command to make it disable for the tftpd service

Disables SELinux for TFTPD service xinetd restart

 setsebool -P tftpd_disable_trans=1 

6. Installation of tftp server create a directory called /tftpboot where files are stored (tftp root).

Install TFTP Client for Testing

 yum install tftp

Test:

 # tftp
 (to) 10.13.37.111
 tftp> verbose
 Verbose mode on.
 tftp> get
 (files) (to) 10.13.37.111
 tftp> get
 (files) Ringlist.xml
 tftp> status
 Connected to 10.13.37.111.
 tftp> get Ringlist.xml
 getting from 10.13.37.111:Ringlist.xml to Ringlist.xml [netascii]
 Received 279 bytes in 0.1 seconds [42767 bit/s]
 tftp> quit

TFTP XML Files Setup

Firmware here: Firewall.cx

Current firmware version at the time of writing this: 9.2.1

We will be using the SIP Firmware.

Extract the firmware files for the phone at the root of the tftp folder directory ours is /tftpboot on the phone server.

 apps41.9-2-1TH1-9.sbn
 cnu41.9-2-1TH1-9.sbn
 cvm41sip.9-2-1TH1-9.sbn
 dsp41.9-2-1TH1-9.sbn
 jar41sip.9-2-1TH1-9.sbn
 SIP41.9-2-1S.loads
 term41.default.loads
 term61.default.loads

Sample 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>  
 <loadInformation30007 model="CP-7912">CP7912080000SIP060111A</loadinformation30007> 
 <loadInformation115 model="CP-7941">SIP41.8-5-2S</loadinformation115>
 <loadInformation434 model="Cisco 7942"></loadinformation434>
 <loadInformation309 model="Cisco 7941G-GE">SIP41.8-5-2S</loadinformation309>
 <loadInformation435 model="Cisco 7945"></loadinformation435>
 <loadInformation30018 model="CP-7961">SIP41.9-2-1S</loadinformation30018>
 <loadInformation308 model="Cisco 7961G-GE">SIP41.8-5-2S</loadinformation308>
 <loadInformation404 model="Cisco 7962"></loadinformation404>
 <loadInformation436 model="Cisco 7965"></loadinformation436>
 <loadInformation6 model="CP-7970">SIP70.8-4-2S</loadinformation6>
 <loadInformation30006 model="CP-7970">SIP70.8-4-2S</loadinformation30006>
 <loadInformation119 model="Cisco 7971">SCCP70.8-3-1S</loadinformation119>
 <loadInformation437 model="Cisco 7975"></loadinformation437>
 <loadInformation302 model="Cisco 7985">cmterm_7985.4-1-4-0</loadinformation302>
 <authenticationURL></authenticationurl>  
 <directoryURL></directoryurl>  
 <idleURL></idleurl>  
 <informationURL></informationurl>  
 <messagesURL></messagesurl>  
 <servicesURL></servicesurl>  
</default> 

      • Replace any _STUFF_ with your right information***
 SEP<VOIPPHONEMACHERE>.cnf.xml

Sample SEP0023339CD7A1.cnf.xml

<device>
   <deviceProtocol>SIP</deviceprotocol>
   <sshUserId>cisco</sshuserid>
   <sshPassword>cisco</sshpassword>
   <devicePool>
      <dateTimeSetting>
         <dateTemplate>M/D/Ya</datetemplate>
         <timeZone>Central Standard/Daylight Time</timezone>
         <ntps>
              <ntp>
                  <name>_SERVER-IP_</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>_SERVER-IP_</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-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>true</remotepartyid>
         <userInfo>None</userinfo>
      </sipstack>
      <autoAnswerTimer>1</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>false</alwaysuseprimeline>
      <alwaysUsePrimeLineVoiceMail>false</alwaysuseprimelinevoicemail>
      <kpml>3</kpml>
      <natEnabled>false</natenabled>
      <natAddress></nataddress>
      <phoneLabel>_NAME_</phonelabel>
      <stutterMsgWaiting>0</stuttermsgwaiting>
      <callStats>false</callstats>
      <silentPeriodBetweenCallWaitingBursts>10</silentperiodbetweencallwaitingbursts>
      <disableLocalSpeedDialConfig>false</disablelocalspeeddialconfig>
      <startMediaPort>16384</startmediaport>
      <stopMediaPort>32766</stopmediaport>
      <sipLines>
         <line button="1">
            <featureID>9</featureid>
            <featureLabel>_DISPLAY-NAME_</featurelabel>
            <proxy>_SERVER-IP_</proxy>
            <port>5060</port>
            <name>_USER_</name>
            <displayName>_USER_</displayname>
            <autoAnswer>
               <autoAnswerEnabled>2</autoanswerenabled>
            </autoanswer>
            <callWaiting>3</callwaiting>
            <authName>_USER_</authname>
            <authPassword>_PASSWD_</authpassword>
            <sharedLine>false</sharedline>
            <messageWaitingLampPolicy>1</messagewaitinglamppolicy>
            <messagesNumber>3501</messagesnumber>
            <ringSettingIdle>4</ringsettingidle>
            <ringSettingActive>5</ringsettingactive>
            <contact>_USER_</contact>
            <forwardCallInfoDisplay>
               <callerName>true</callername>
               <callerNumber>true</callernumber>
               <redirectedNumber>false</redirectednumber>
               <dialedNumber>true</dialednumber>
            </forwardcallinfodisplay>
	     </line>   
      </siplines>
      <voipControlPort>5060</voipcontrolport>
      <dscpForAudio>184</dscpforaudio>
      <ringSettingBusyStationPolicy>0</ringsettingbusystationpolicy>
      <dialTemplate>dialplan.xml</dialtemplate>
   </sipprofile>
   <commonProfile>
      <phonePassword></phonepassword>
      <backgroundImageAccess>true</backgroundimageaccess>
      <callLogBlfEnabled>1</calllogblfenabled>
   </commonprofile>
   <loadInformation>SIP41.8-5-2S</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>
      <spanToPCPort>1</spantopcport>
      <loggingDisplay>1</loggingdisplay>
      <loadServer></loadserver>
   </vendorconfig>
   <versionStamp>1143565489-a3cbf294-7526-4c29-8791-c4fce4ce4c37</versionstamp>
   <networkLocale>US</networklocale>
   <networkLocaleInfo>
      <name>US</name>
      <version>5.0(2)</version>
   </networklocaleinfo>
   <deviceSecurityMode>1</devicesecuritymode>
   <authenticationURL></authenticationurl>
   <directoryURL></directoryurl>
   <idleURL></idleurl>
   <informationURL></informationurl>
   <messagesURL></messagesurl>
   <proxyServerURL></proxyserverurl>
   <servicesURL></servicesurl>
   <dscpForSCCPPhoneConfig>96</dscpforsccpphoneconfig>
   <dscpForSCCPPhoneServices>0</dscpforsccpphoneservices>
   <dscpForCm2Dvce>96</dscpforcm2dvce>
   <transportLayerProtocol>2</transportlayerprotocol>
   <capfAuthMode>0</capfauthmode>
   <capfList>
      <capf>
         <phonePort>3804</phoneport>
      </capf>
   </capflist>
   <certHash></certhash>
   <encrConfig>false</encrconfig>
</device>
      • For Cisco phones "nat=no" is a must other wise asterisk won't use the correct port for communcations.***
      • Again replace all the _Stuff_ with the correct information.***
Edit /etc/asterisk/sip.conf
 [1339]
 type=friend
 secret=_PASSWD_
 username=1339
 context=outbound
 nat=no
 canreinvite=no
 host=dynamic
 callerid="unLab CO-Work Area" <1339>
 mailbox=1339

Phone Customization

Images

Make folders on TFTP Server

 <THUMBNAIL_IMAGES_TFTP_FOLDER>/Desktops/80x49x4/imagename.png

List.xml Example

PNG File Requirements for Custom Background Images

Each background image requires two PNG files:

•Full size image—Version that appears on the on the phone.

•Thumbnail image—Version that appears on the Background Images screen from which users can select an image. Must be 25% of the size of the full size image.

Tip Many graphics programs provide a feature that will resize a graphic. An easy way to create a thumbnail image is to first create and save the full size image, then use the sizing feature in the graphics program to create a version of that image that is 25% of the original size. Save the thumbnail version using a different name. The PNG files for background images must meet the following requirements for proper display on the Cisco Unified IP Phone:

•Full size image—320 pixels (width) X 196 pixels (height).

•Thumbnail image—80 pixels (width) X 49 pixels (height).

Tip If you are using a graphics program that supports a posterize feature for grayscale, set the number of tonal levels per channel to 16, and the image will posterize to 16 shades of grayscale. Configuring a Custom Background Image

To create custom background images for the Cisco Unified IP Phone, follow these steps:

Procedure

Step 1 Create two PNG files for each image (a full size version and a thumbnail version). Ensure the PNG files comply with the format guidelines that are listed in the "PNG File Requirements for Custom Background Images" section.

Step 2 Upload the new PNG files that you created to the following subdirectory in the TFTP server for the Cisco Unified Communications Manager:

/Desktops/320x196x4

Note The file name and subdirectory parameters are case sensitive. Be sure to use the forward slash "/" when you specify the subdirectory path. To upload the files, choose Software Upgrades > Upload TFTP Server File in Cisco Unified Platform Administration. For more information, see the "Software Upgrades" chapter in Cisco Unified IP Telephony Platform Administration Guide.

Step 3 You must also copy the customized images and files to the other TFTP servers that the phone may contact to obtain these files.

Note Cisco recommends that you also store backup copies of custom image files in another location. You can use these backup copies if the customized files are overwritten when you upgrade Cisco Unified Communications Manager. Step 4 Use a text editor to edit the List.xml file. See the "List.xml File Format Requirements" section for the location of this file, formatting requirements, and a sample file.

Step 5 Save your modifications and close the List.xml file.

Note When you upgrade Cisco Unified Communications Manager, a default List.xml file will replace your customized List.xml file. After your customize the List.xml file, make a copy of the file and store it in another location. After upgrading Cisco Unified Communications Manager, replace the default List.xml file with your stored copy. Step 6 To cache the new List.xml file, stop and start the TFTP service by using Cisco Unified Communications Manager Serviceability or disable and re-enable the Enable Caching of Constant and Bin Files at Startup TFTP service parameter (located in the Advanced Service Parameters).

Custom Ring Tones

"The Cisco SIP IP phone ships with two ring types: Chirp1 and Chirp2. By default, your ring type options will be those two choices. However, using the Ringlist.xml file, you can customize the ring types that are available to the Cisco SIP IP phone users.

Step 1 Create a pulse code modulation (PCM) file of the desired ring types and store the PCM files in the root directory of your TFTP server. PCM files must contain no header information and comply with the following format guidelines:

 8000 Hz sampling rate
 8 bits per sample
 ulaw compression
 240 - 16080 samples long ( 0.03 sec - 2.01 sec )

For example, to use sox to generate the tones, use

 sox -t wav in.wav -t raw -r 8000 -U -b -c 1 out.raw resample -ql

Step 2 Using a ASCII editor, open the Ringlist.xml file and for each of the ring types you are adding, specify the name as you want it to display on the Ring Type menu, press Tab, and then specify the filename of the ring type. For example, the format of a pointer in your Ringlist.xml file should appear similar to the following:

Ringlist.xml

 <CiscoIPPhoneRingList>
   <Ring>
      <DisplayName>Keyboard Cowboys</displayname>
      <FileName>keyboardcow.raw</filename>
   </ring>
   <Ring>
      <DisplayName>Place Holder 2</displayname>
      <FileName>Analog2.raw</filename>
   </ring>
 </ciscoipphoneringlist>

Step 3 After defining pointers for each of the ring types you are adding, save your modifications and close the Ringlist.xml file.

The ringlist.xml is downloaded when you browse to the ring menu on the handset.

Caveat: If you have configured a secondary tftp-server(ie. dyn_tftp_addr : 10.13.37.111) in SIPDefault.cnf, or SIP.cnf which cannot be reached then the phone will not attempt to download the Ringlist.xml file. "

⚠️ **GitHub.com Fallback** ⚠️