RESOLVED: How to register a Cisco 7965 with ver 9 firmware?

The only person in the world that I have heard of being able to do this is @stindl so I hope he sees this and replies.

@SkykingOH described this problem best, “The Cisco call manager phones are a science fair project.”

I followed stindl’s instructions here

I installed the Asterisk cisco-usecallmanager patch, and used his XML config as a template.

I fixed all the XML Parser error messages in the console dumps, so the config is good and the phone has finally accepted it now, no more “error verifying config” errors

Now the phone is actually TRYING to register with FreePBX, but gets no response.

When I look at “asterisk -rvvv” I dont see any register attempts coming in at all

7965 Config (Yes, using transport 2 for UDP)

<?xml version="1.0" encoding="UTF-8"?>
<device>
    <fullConfig>true</fullConfig>
    <deviceProtocol>SIP</deviceProtocol>
    <sshUserId>admin</sshUserId>
    <sshPassword>pass</sshPassword>
    <devicePool>
        <dateTimeSetting>
            <dateTemplate>M-D-Ya</dateTemplate>
 
    <timeZone>Central Standard/Daylight Time</timeZone>
                    <ntps>
                <ntp>
                    <name> 209.118.204.201</name>
      				<ntpMode>unicast</ntpMode>
    			</ntp>
    			<ntp>
      				<name>66.228.59.187</name>
      				<ntpMode>unicast</ntpMode>
    			</ntp>
            </ntps>
                    </dateTimeSetting>
        <callManagerGroup>
            <members>
                <member priority="0">
                    <callManager>
                        <name>192.168.27.10</name>
						<description>FreePBX</description>
                        <ports>
                            <ethernetPhonePort>2000</ethernetPhonePort>
                            <sipPort>5060</sipPort>
                            <securedSipPort>5061</securedSipPort>
                        </ports>
                        <processNodeName>192.168.27.10</processNodeName>
                    </callManager>
                </member>
            </members>
        </callManagerGroup>
				<connectionMonitorDuration>120</connectionMonitorDuration>
	</devicePool>
    <commonProfile>
        <phonePassword></phonePassword>
        <backgroundImageAccess>true</backgroundImageAccess>
        <callLogBlfEnabled>1</callLogBlfEnabled>
    </commonProfile>
    <loadInformation></loadInformation>
    <vendorConfig>
        <disableSpeaker>false</disableSpeaker>
        <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
        <pcPort>0</pcPort>
        <settingsAccess>1</settingsAccess>
        <garp>0</garp>
        <voiceVlanAccess>0</voiceVlanAccess>
        <g722CodecSupport>2</g722CodecSupport>
        <handsetWidebandEnable>1</handsetWidebandEnable>
        <headsetWidebandEnable>0</headsetWidebandEnable>
        <headsetWidebandUIControl>0</headsetWidebandUIControl>
        <handsetWidebandUIControl>0</handsetWidebandUIControl>
        <videoCapability>0</videoCapability>
        <autoSelectLineEnable>0</autoSelectLineEnable>
        <daysDisplayNotActive>1,2,3,4,5,6,7</daysDisplayNotActive>
        <displayOnTime></displayOnTime>
        <displayOnDuration></displayOnDuration>
        <displayIdleTimeout>00:05</displayIdleTimeout>
        <webAccess>0</webAccess>
        <spanToPCPort>0</spanToPCPort>
        <loggingDisplay>1</loggingDisplay>
        <displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
        <loadServer></loadServer>
    </vendorConfig>
   <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>

 <version>1.0.0.0-1</version>
</networkLocaleInfo>
    <deviceSecurityMode>1</deviceSecurityMode>
    <authenticationURL>http://192.168.27.10/cisco/services/authentication.php</authenticationURL>
    <directoryURL>http://192.168.27.10/xmlservices/index2.php</directoryURL>
    <idleTimeout>0</idleTimeout>
    <idleURL></idleURL>
    <informationURL>http://192.168.27.10/xmlservices/help.php</informationURL>
    <messagesURL></messagesURL>
    <proxyServerURL></proxyServerURL>
    <servicesURL>http://192.168.27.10/xmlservices/index.php</servicesURL>
    <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
    <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
    <dscpForCm2Dvce>96</dscpForCm2Dvce>
    <transportLayerProtocol>2</transportLayerProtocol>
    <dndCallAlert>5</dndCallAlert>
    <capfAuthMode>0</capfAuthMode>
    <capfList>
        <capf>
            <phonePort>3804</phonePort>
        </capf>
    </capfList>
    <certHash></certHash>
    <encrConfig>false</encrConfig>
    <sipProfile>
        <sipProxies>
            <backupProxy></backupProxy>
            <backupProxyPort>5060</backupProxyPort>
            <emergencyProxy></emergencyProxy>
            <emergencyProxyPort>5060</emergencyProxyPort>
            <outboundProxy></outboundProxy>
            <outboundProxyPort>5060</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>true</rfc2543Hold>
            <callHoldRingback>2</callHoldRingback>
            <localCfwdEnable>false</localCfwdEnable>
            <semiAttendedTransfer>true</semiAttendedTransfer>
            <anonymousCallBlock>2</anonymousCallBlock>
            <callerIdBlocking>0</callerIdBlocking>
            <dndControl>0</dndControl>
            <remoteCcEnable>true</remoteCcEnable>
        </sipCallFeatures>
        <sipStack>
            <sipInviteRetx>6</sipInviteRetx>
            <sipRetx>10</sipRetx>
            <timerInviteExpires>180</timerInviteExpires>
            <timerRegisterExpires>1200</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>true</transferOnhookEnabled>
        <enableVad>false</enableVad>
        <preferredCodec>g711alaw</preferredCodec>
        <dtmfAvtPayload>101</dtmfAvtPayload>
        <dtmfDbLevel>3</dtmfDbLevel>
        <dtmfOutofBand>avt</dtmfOutofBand>
        <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
        <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
        <kpml>3</kpml>
        <stutterMsgWaiting>0</stutterMsgWaiting>
        <callStats>false</callStats>
        <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
        <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
        <startMediaPort>16384</startMediaPort>
        <stopMediaPort>32766</stopMediaPort>
        <voipControlPort>5060</voipControlPort>
        <dscpForAudio>184</dscpForAudio>
        <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
        <dialTemplate>dialplan.xml</dialTemplate>
        <softKeyFile>softkeys.xml</softKeyFile>
        <phoneLabel>Reilly Chase</phoneLabel>
        <natEnabled>false</natEnabled>

        <sipLines>
            <line button="1">
                <featureID>9</featureID>
                <featureLabel>100</featureLabel>
                <name>100</name>
                <displayName>100</displayName>
                <contact>100</contact>
                <proxy>USECALLMANAGER</proxy>
                <port>5060</port>
                <autoAnswer>
                    <autoAnswerEnabled>2</autoAnswerEnabled>
                </autoAnswer>
                <callWaiting>1</callWaiting>
                <authName>100</authName>
                <authPassword>secret-pass-here</authPassword>
                <sharedLine>false</sharedLine>
                <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
                <messagesNumber>*97</messagesNumber>
                <ringSettingIdle>4</ringSettingIdle>
                <ringSettingActive>5</ringSettingActive>
                <forwardCallInfoDisplay>
                    <callerName>true</callerName>
                    <callerNumber>false</callerNumber>
                    <redirectedNumber>false</redirectedNumber>
                    <dialedNumber>true</dialedNumber>
                </forwardCallInfoDisplay>
            </line>

            </sipLines>
    </sipProfile>
</device>

Cisco Web GUI “Debug” shows this - trying to register message:

3:21:52a SEP1C1D86C4940D 192.168.27.114/24 192.168.27.1 CP-7965G 1 0 1 4 0 0 4095 192.168.27.10 0 14292589160381429258911408 14 Sent:REGISTER sip:192.168.27.10 SIP/2.0 Cseq:103 REGISTER CallId:[email protected]

Snippet from a console log - the phone finishes its last TFTP download (softkeys.xml) then begins trying to register with FreePBX

1551: NOT 15:21:47.241661 TFTP: [14]:Requesting softkeys.xml from 192.168.27.10 with size limit of 550001
1552: NOT 15:21:47.252018 TFTP: [14]:Finished --> rcvd 5327 bytes 
# Now it has all of its XML configs, now it will try to register to FreePBX \/
1553: ERR 15:21:48.026121 JVM: ..LOCALCONNECT FAILED
1554: NOT 15:21:48.214397 JVM: SIPCC-SIP_CTRL: sip_restart: In sip_restart
1555: NOT 15:21:48.267630 JVM: set_active_ccm: ccm=PRIMARY_CCM  port=0
1556: ERR 15:21:48.268378 JVM: SIP : sip_transport_setup_cc_conn : Admin has not configured a valid cucm for cucm index=SECONDARY_CCM=1.
1557: ERR 15:21:48.269130 JVM: SIP : sip_transport_setup_cc_conn : Admin has not configured a valid cucm for cucm index=TERTIARY_CCM=2.
1558: ERR 15:21:48.269836 JVM: SIP : sip_transport_setup_cc_conn : Admin has not configured a valid cucm for cucm index=SRST_CCM=3.
1559: ERR 15:21:48.270575 JVM: sip_regmgr_setup_cc_conns: NO VALID STANDBY CALL CONTROL AVAILABLE!
1560: NOT 15:21:48.271288 JVM: SIPCC-SIP_REG: sip_sm_init: Disabling mass reg state
1561: NOT 15:21:48.293457 JVM: SIPCC-SIP_REG: ccsip_register_all_lines: Disabling mass reg state
1562: NOT 15:21:48.294509 JVM: SIPCC-UI_API: 1/0, ui_set_sip_registration_state: 0
1563: NOT 15:21:48.297408 JVM: SIPCC-CC_API: 0/0, cc_int_feature: UI -> GSM: UPD_MEDIA_CAP       
1564: NOT 15:21:48.298378 JVM: SIPCC-SIP_CTRL: sip_restart: sip.taskInited is set to true 
1565: NOT 15:21:48.299161 JVM: SIPCC-CC_API: 0/0, cc_int_fail_fallback: SIP -> GSM: FAILOVER_FALLBACK   
1566: NOT 15:21:48.302662 JVM: SIPCC-DCSM: dcsm_process_event: DCSM 0   :(DCSM_READY:FEAT:UPD_MEDIA_CAP)
# The line below is where it sends its first message to FreePBX (192.168.27.10:5060) \/
1567: NOT 15:21:48.306859 JVM: SIPCC-SIP_MSG_SEND: ccsip_dump_send_msg_info: <192.168.27.10:5060>:REFER s: <sip:192.168.27.10> :1000 REFER::[email protected]
# Oh no, looks like it destroyed the UDP connection .. IDK why - line below \/
1568: NOT 15:21:48.309469 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
1569: NOT 15:21:48.310971 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_IDLE <- E_SIP_REG_REG_REQ
1570: NOT 15:21:48.312977 JVM: ccsip_messaging: sipSPIAddContactHeader: CFGID_DEVICE_NAME = SEP1C1D86C4940D
# Register msg to FreePBX - line below \/
1571: NOT 15:21:48.315808 JVM: SIPCC-SIP_MSG_SEND: ccsip_dump_send_msg_info: <192.168.27.10:5060>:REGISTE: <sip:[email protected]> :103 REGISTER::[email protected]
1572: ERR 15:21:48.494500 JVM: Startup Module Loader|cip.sipcc.FeatureKeyHandler:  - scratchpad/SK273039531/usr/cache/SK273039531
1573: WRN 15:21:48.496888 JVM: Startup Module Loader|cip.sipcc.FeatureKeyHandler:  - processFile(): ignoring unknown sk def, evID=0keyID=Undefined
1574: NOT 15:21:48.498690 JVM: Startup Module Loader|cip.midp.midletsuite.InstallerModule:? - propertyChanged - device.callagent.messages.0 value=0
1575: NOT 15:21:48.500756 JVM: Startup Module Loader|cip.sipcc.d:  - initializeLinePlane(): Mgmt Interface is in Service now..
1576: WRN 15:21:48.502471 JVM: Startup Module Loader|DisplayTask:? -  Line 1 property added with dn 100
1577: ERR 15:21:48.504132 JVM: Startup Module Loader|cip.props.u:? - device.settings.energywise.keywords IO error.
1578: NOT 15:21:48.613484 JVM: Startup Module Loader|cip.cfg.ConfigManager:? - --->ConfigManager PropertyChanged: device.callagent.callcount
1579: NOT 15:21:48.615139 JVM: Startup Module Loader|cip.cfg.ConfigManager:? - <---ConfigManager PropertyChanged: device.callagent.callcount
1580: NOT 15:21:48.616835 JVM: Startup Module Loader|cip.midp.midletsuite.InstallerModule:? - propertyChanged - device.callagent.messages.0 value=0
1581: NOT 15:21:48.659780 xxtpClient: request server 1 --->  
1582: NOT 15:21:48.691902 CDP-D: cdpGetPortCfg SPANTOPC CFG:10
1583: NOT 15:21:48.792757 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
1584: NOT 15:21:48.795147 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1585: NOT 15:21:48.804119 xxtpClient: request server6 0 ---> :: 
1586: NOT 15:21:48.826312 xxtpClient: request server6 1 ---> :: 
1587: ERR 15:21:48.832389 JVM: ..LOCALCONNECT FAILED
1588: ERR 15:21:48.835898 JVM: ..LOCALCONNECT FAILED
1589: ERR 15:21:48.839467 JVM: ..LOCALCONNECT FAILED
1590: ERR 15:21:48.843148 JVM: ..LOCALCONNECT FAILED
1591: ERR 15:21:48.846505 JVM: ..LOCALCONNECT FAILED
1592: ERR 15:21:48.850006 JVM: ..LOCALCONNECT FAILED
1593: ERR 15:21:48.854377 JVM: ..LOCALCONNECT FAILED
1594: ERR 15:21:49.791087 JVM: SIP : sipTransportSendMessage : Args: pOutMessageBuf is empty
1595: ERR 15:21:49.791787 JVM: SIP : SIPTaskProcessListEvent : subsmanager_handle_retry_timer_expire() returned error.
1596: NOT 15:21:49.793985 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1597: ERR 15:21:50.030154 JVM: Calling enable listening for incoming http connections
1598: NOT 15:21:51.836238 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1599: NOT 15:21:55.832336 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1600: NOT 15:21:59.832343 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1601: NOT 15:22:03.832320 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1602: NOT 15:22:07.832313 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1603: NOT 15:22:11.832181 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1604: NOT 15:22:15.832354 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1605: NOT 15:22:19.832249 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1606: NOT 15:22:20.335086 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_ACK
1607: ERR 15:22:20.336228 JVM: %REG auth failed: ack timer
1608: NOT 15:22:20.337145 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
1609: NOT 15:22:20.337938 JVM: sip_platform_udp_channel_close:closed listening UDP socket
1610: NOT 15:22:20.345180 JVM: set_active_ccm: ccm=PRIMARY  port=-1
1611: ERR 15:22:20.345982 JVM: SIPCC-LINE_NUM: sip_platform_localexpires_timer_stop: Error: Line number (106) is invalid
1612: NOT 15:22:20.347206 JVM: SIPCC-UI_API: 1/0, ui_set_sip_registration_state: 0
1613: NOT 15:22:20.349198 JVM: SIPCC-UI_API: 0/0, ui_set_notification: Registering: 167:20
1614: NOT 15:22:23.832330 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1615: NOT 15:22:23.834308 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
1616: NOT 15:22:24.832326 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1617: NOT 15:22:24.834195 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
1618: NOT 15:22:26.832346 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1619: NOT 15:22:26.834253 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
1620: NOT 15:22:30.836261 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1621: NOT 15:22:30.838154 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
1622: NOT 15:22:34.832321 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1623: NOT 15:22:34.834269 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
1624: DBG 15:22:36.642748 cffs_journal_commit() change journal base 0xb40000
1625: DBG 15:22:36.643638 cffs_journal_create() sec 3
1626: DBG 15:22:36.644653 cffs_journal_commit() new journal base 0x60000/hdr:4/data:5
1627: DBG 15:22:36.651981 cffs_gc(): runing gc 1
1628: NOT 15:22:38.832183 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1629: NOT 15:22:38.834074 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
1630: NOT 15:22:42.832340 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1631: NOT 15:22:42.834193 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
1632: NOT 15:22:46.832335 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1633: NOT 15:22:46.834096 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
1634: NOT 15:22:50.832238 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1635: NOT 15:22:50.834166 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
1636: ERR 15:22:51.020105 JVM: Calling enable listening for incoming http connections
1637: NOT 15:22:54.832313 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1638: NOT 15:22:54.834192 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully

Cisco 7965: 192.168.27.114
FreePBX: 192.168.27.10

Wow, I had the FreePBX extension configured to NAT = Yes

Change to NAT = Never, and Cisco phone is registered :alien:

Cool, now i can try to get fancy with some scripts and services

Yup, that did the trick for me too. Thanks!