Upgrade 3CX to v18 and get it hosted free!

Standalone Cisco 7945/7965

Author image

The Cisco 7945/7965 IP phones replace the 7941/7961 models, which are EOL as of January 2010. 7945/7965 feature backlit color LCD displays and additional navigation keys (left/right/select).

Most of the 7941/7961 caveats apply to 7945/7965 as well, so please familiarize yourself with ((Standalone Cisco 7941/7961 without a local PBX)) and other related pages.

7945 and 7965 use the same firmware images. As with 7941/7961, the main difference is that 7945 has two line buttons, and 7965 has six.

Firmware Versions

SIP firmware QA seems a little bit spotty. Some test results:

  • cmterm-7945_7965-sip.8-5-4.zip (SHA1 7d81c5d4a2b97e64ffc99ba82d9f93a2ff018ca2): Best known FW for 7945/7965
  • cmterm-7945_7965-sip.8-5-3.zip: Ignores the SIP CANCEL response, so if you don’t pick up the phone it will never stop ringing. Avoid.
  • cmterm-7945_7965-sip.9-0-3.zip: Does not even attempt SIP registration. Avoid.

To install the FW image, unzip it under your TFTP server root directory (e.g. /tftpboot) and update loadInformation in SEP*.cnf.xml .

Sample Configuration File

See also: Asterisk phone cisco 79×1 xml configuration files for SIP

This is a known good SEPxxxxxxxxxxxx.cnf.xml configuration file for Cisco 7965 + voip.ms + Linux NAT firewall with patched Netfilter SIP modules. “FIXME” indicates the fields that probably need to be customized for your setup:


<!-- FIXME: Change to your own phone number (or another unique ID) -->
<device xsi:type="axl:XIPPhone" ctiid="4085551212">
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>default</sshUserId>
<sshPassword>user</sshPassword>
<devicePool>
 <dateTimeSetting>
    <!-- FIXME: Set your preferred date format and timezone here -->
    <dateTemplate>M/D/Ya</dateTemplate>
    <timeZone>Pacific Standard/Daylight Time</timeZone>
    <ntps>
         <!-- NTP might not actually work, but the phone can set the
              date/time from the SIP response headers -->
         <ntp>
             <name>pool.ntp.org</name>
             <ntpMode>Unicast</ntpMode>
         </ntp>
    </ntps>
 </dateTimeSetting>

 <!-- This section probably does not do anything useful. -->
 <callManagerGroup>
    <members>
       <member priority="0">
          <callManager>
             <ports>
                <ethernetPhonePort>2000</ethernetPhonePort>
                <sipPort>5060</sipPort>
                <securedSipPort>5061</securedSipPort>
             </ports>
             <processNodeName>127.0.0.1</processNodeName>
          </callManager>
       </member>
    </members>
 </callManagerGroup>
</devicePool>
<sipProfile>
 <sipProxies>
   <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>
    <!-- Force short registration timeout to keep NAT connection alive -->
    <timerRegisterExpires>180</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>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>
 <!-- FIXME: This will appear in the upper right corner of the display -->
 <phoneLabel>408-555-1212</phoneLabel>
 <stutterMsgWaiting>1</stutterMsgWaiting>
 <callStats>false</callStats>
 <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
 <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
 <startMediaPort>16384</startMediaPort>
 <stopMediaPort>16391</stopMediaPort>
 <sipLines>
    <line button="1">
       <featureID>9</featureID>
       <!-- FIXME: Text to display next to line button #1 -->
       <featureLabel>5551212</featureLabel>
       <!-- FIXME: FQDN or IP of your SIP proxy -->
       <proxy>losangeles.voip.ms</proxy>
       <port>5060</port>
       <!-- FIXME: SIP username -->
       <name>123456</name>
       <!-- FIXME: Name to display on outbound caller ID -->
       <displayName>VOIP CALL</displayName>
       <autoAnswer>
          <autoAnswerEnabled>2</autoAnswerEnabled>
       </autoAnswer>
       <callWaiting>1</callWaiting>
       <!-- FIXME: SIP authorization name (often matches username) -->
       <authName>123456</authName>
       <!-- FIXME: SIP authorization password -->
       <authPassword>password</authPassword>
       <sharedLine>true</sharedLine>
       <messageWaitingLampPolicy>1</messageWaitingLampPolicy>
       <!-- FIXME: "Messages" key will autodial this number -->
       <messagesNumber>*97</messagesNumber>
       <ringSettingIdle>4</ringSettingIdle>
       <ringSettingActive>5</ringSettingActive>
       <contact></contact>
       <forwardCallInfoDisplay>
          <callerName>true</callerName>
          <callerNumber>false</callerNumber>
          <redirectedNumber>false</redirectedNumber>
          <dialedNumber>true</dialedNumber>
       </forwardCallInfoDisplay>
    </line>
    <line button="2">
       <featureID>2</featureID>
       <featureLabel>ATT</featureLabel>
       <speedDialNumber>18002255288</speedDialNumber>
    </line>
    <!-- FIXME: Add more line buttons or speed dial entries here -->
   </sipLines>
 <voipControlPort>5060</voipControlPort>
 <dscpForAudio>184</dscpForAudio>
 <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
 <dialTemplate>dialplan.xml</dialTemplate>
</sipProfile>
<commonProfile>
 <phonePassword></phonePassword>
 <backgroundImageAccess>true</backgroundImageAccess>
 <callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<!-- FIXME: Change this to upgrade the firmware -->
<loadInformation>SIP45.8-5-4S</loadInformation>
<vendorConfig>
 <disableSpeaker>false</disableSpeaker>
 <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
 <pcPort>0</pcPort>
 <settingsAccess>1</settingsAccess>
 <garp>0</garp>
 <voiceVlanAccess>1</voiceVlanAccess>
 <videoCapability>0</videoCapability>
 <autoSelectLineEnable>0</autoSelectLineEnable>
 <webAccess>0</webAccess>
 <!-- For Sunday (1) and Saturday (7):
   <daysDisplayNotActive>1,2,3,4,5,6,7</daysDisplayNotActive>
   Current default is to enable the display 24/7.
 -->
 <daysDisplayNotActive></daysDisplayNotActive>
 <displayOnTime>00:00</displayOnTime>
 <displayOnDuration>24:00</displayOnDuration>
 <displayIdleTimeout>00:00</displayIdleTimeout>
 <spanToPCPort>1</spanToPCPort>
 <loggingDisplay>1</loggingDisplay>
 <loadServer></loadServer>
</vendorConfig>
<versionStamp></versionStamp>
<userLocale>
 <name>English_United_States</name>
<uid>1</uid>
 <langCode>en_US</langCode>
<version>1.0.0.0-1</version>
 <winCharSet>iso-8859-1</winCharSet>
</userLocale>
<networkLocale>United_States</networkLocale>
<networkLocaleInfo>
 <name>United_States</name>
<uid>64</uid>
 <version>1.0.0.0-1</version>
</networkLocaleInfo>
<deviceSecurityMode>0</deviceSecurityMode>
<!--
<authenticationURL>http://yourwebserver/authenticate.php</authenticationURL>
<directoryURL>http://yourwebserver/directory.xml</directoryURL>
-->
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<!--
  <servicesURL>http://phone-xml.berbee.com/menu.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>

Sample dialplan.xml to support *xx, xxx-xxxx, 1xxx-xxx-xxxx, and 011xxx… dialing:


<DIALTEMPLATE>
     <TEMPLATE MATCH="011*" Timeout="6" User="Phone"/>
     <TEMPLATE MATCH="1.........." Timeout="0" User="Phone"/>
     <TEMPLATE MATCH="......." Timeout="0" User="Phone" Rewrite="213......."/>
     <TEMPLATE MATCH="*.." Timeout="0" User="Phone"/>
     <TEMPLATE MATCH="*" Timeout="15" User="Phone"/>
</DIALTEMPLATE>

Article Reviews

Write a Review

Your email address will not be published. Required fields are marked *

Required Field. Minimum 5 characters.

Required Field. Minimum 5 characters, maximum 50.

Required field.There is an error with this field.

Required Field.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

There are no reviews for this article. Be the first one to write a review.

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.