Cisco SIP Phone Register with IP instead of FQDN

Status
Not open for further replies.

Proteus8

New Member
Sep 26, 2018
3
0
1
46
We have Cisco 8945 IP phones with SIP load SIP894x.9-4-2SR3-1 loaded on it.

When we register the Phone to FusionPBX we see the phone try to register with the IP address and not the FQDN. If I build the extension on the Public IP domain we are able to register and the phone works perfectly.

I need assistance getting the FQDN to be passed instead of the IP Address in the SIP Registrar of the Cisco SIP Phones.

Our Configuration File for the Cisco phone is:

<?xml version="1.0" encoding="UTF-8"?>
<device>
<deviceProtocol>SIP</deviceProtocol>

<sshUserId>admin</sshUserId>
<sshPassword>admin</sshPassword>

<devicePool>
<dateTimeSetting>
<dateTemplate>D/M/Ya</dateTemplate>
<timeZone>Central Standard/Daylight Time</timeZone>
<ntps>
<ntp>
<name>ntppub.tamu.edu</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>FQDN.of.OurDomain</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>

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

<loadInformation>SIP894x.9-4-2SR3-1</loadInformation>
<featurePolicyFile>DefaultFP.xml</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>
<g722CodecSupport></g722CodecSupport>
<daysDisplayNotActive>1,2,3,4,5,6,7</daysDisplayNotActive>
<displayOnTime>08:00</displayOnTime>
<displayOnDuration>08:30</displayOnDuration>
<displayIdleTimeout>04:00</displayIdleTimeout>
<displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
<spanToPCPort>1</spanToPCPort>
<loggingDisplay>1</loggingDisplay>
<loadServer></loadServer>
</vendorConfig>

<commonConfig>
<usb1>1</usb1>
<usb2>1</usb2>
<ciscoCamera>1</ciscoCamera>
<usbClasses>0,1,2</usbClasses>
<sdio>1</sdio>
<bluetooth>1</bluetooth>
<wifi>1</wifi>
<bluetoothProfile>0,1</bluetoothProfile>
<joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
</commonConfig>

<enterpriseConfig>
<usb1>1</usb1>
<usb2>1</usb2>
<ciscoCamera>1</ciscoCamera>
<usbClasses>0,1,2</usbClasses>
<sdio>1</sdio>
<bluetooth>1</bluetooth>
<wifi>1</wifi>
<bluetoothProfile>0,1</bluetoothProfile>
<joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
<videoCapability>1</videoCapability>
<webAccess>0</webAccess>
<eapAuthentication>2</eapAuthentication>
<webProtocol>0</webProtocol>
</enterpriseConfig>

<advertiseG722Codec></advertiseG722Codec>

<networkLocale>United_States</networkLocale>

<networkLocaleInfo>
<name>English_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></servicesURL>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>

<transportLayerProtocol>1</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>USECALLMANAGER</backupProxy>
<backupProxyPort>5060</backupProxyPort>
<emergencyProxy>USECALLMANAGER</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>
<uriDialingDisplayPreference>0</uriDialingDisplayPreference>
</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>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>true</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>true</alwaysUsePrimeLineVoiceMail>
<kpml>3</kpml>
<natEnabled>true</natEnabled>
<natAddress>3.3.3.3</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>Adam</phoneLabel>
<sipLines>
<line button="1" lineIndex="1">
<featureID>9</featureID>
<featureLabel>test phone1</featureLabel>
<name>4000</name>
<displayName>Test Phone1</displayName>
<contact>4000</contact>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>

<authName>4000</authName>
<authPassword>1234</authPassword>

<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messageWaitingAMWI>1</messageWaitingAMWI>
<messagesNumber>*97</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>

</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>
<phoneService type="1" category="0">
<name>Placed Calls</name>
<url>Application:Cisco/PlacedCalls</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService type="1" category="0">
<name>Personal Directory</name>
<url>Application:Cisco/PersonalDirectory</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService type="1" category="0">
<name>Corporate Directory (Demo)</name>
<url>http://directory.ciscoxmlservices.com/demo1/demo1/</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService type="0" category="0">
<name>Australian Services</name>
<url>http://cisco.internect.net/</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService type="0" category="0">
<name>Berbee</name>
<url>http://phone-xml.berbee.com/menu.xml</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService type="2" category="0">
<name>Visual Voice Mail</name>
<url>http://FQDN.of.OurDomain/cisco/voicemail.php?user=4000</url>
<vendor></vendor>
<version></version>
</phoneService>
</phoneServices>
</device>


We see the phone register to the Public IP Address as seen here:

xxx.xxx.xxx.xxx is IP of the FusionPBX server
YYY.YYY.YYY.YYY is the public IP of the office with the IP Phone
------------------------------------------------------------------------
recv 1084 bytes from tcp/[YYY.YYY.YYY.YYY]:51227 at 19:49:47.718103:
------------------------------------------------------------------------
REGISTER sip:xxx.xxx.xxx.xxx SIP/2.0
Via: SIP/2.0/TCP 10.22.22.168:51227;branch=z9hG4bK1e63beb7
From: <sip:4000@xxx.xxx.xxx.xxx>;tag=000000000000000b7b1a2ec9-64d179df
To: <sip:4000@xxx.xxx.xxx.xxx>
Call-ID: b4e9b0b1-29180002-2bf06e2a-41307e56@10.22.22.168
Max-Forwards: 70
Date: Wed, 03 Oct 2018 00:49:47 GMT
CSeq: 104 REGISTER
User-Agent: Cisco-CP8945/9.4.2
Contact: <sip:4000@10.22.22.168:51227;transport=tcp>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-000000000000>";+u.sip!devicename.ccm.cisco.com="SEP000000000000";+u.sip!model.ccm.cisco.com="585";video
Authorization: Digest username="4000",realm="xxx.xxx.xxx.xxx",uri="sip:xxx.xxx.xxx.xxx",response="3f888fad6ee9d5f1f817c5824d41860c",nonce="15714a71-f55b-4157-8b9a-ea3a7c7f9bb8",cnonce="1f16a488",qop=auth,nc=00000001,algorithm=MD5
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1
Content-Length: 0
Expires: 3600

------------------------------------------------------------------------
send 668 bytes to tcp/[YYY.YYY.YYY.YYY]:51227 at 19:49:47.735626:
------------------------------------------------------------------------
SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.22.22.168:51227;branch=z9hG4bK1e63beb7;received=YYY.YYY.YYY.YYY;rport=51227
From: <sip:4000@xxx.xxx.xxx.xxx>;tag=000000000000000b7b1a2ec9-64d179df
To: <sip:4000@xxx.xxx.xxx.xxx>;tag=ySS1rSHgeeQUr
Call-ID: b4e9b0b1-29180002-2bf06e2a-41307e56@10.22.22.168
CSeq: 104 REGISTER
Contact: <sip:4000@10.22.22.168:54237;transport=tcp>;expires=5
Contact: <sip:4000@10.22.22.168:51227;transport=tcp>;expires=3600
Date: Wed, 03 Oct 2018 00:49:44 GMT
User-Agent: FreeSWITCH
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, path, replaces
Content-Length: 0

------------------------------------------------------------------------
recv 1081 bytes from tcp/[YYY.YYY.YYY.YYY]:51227 at 19:49:47.760855:
------------------------------------------------------------------------
REGISTER sip:xxx.xxx.xxx.xxx SIP/2.0
Via: SIP/2.0/TCP 10.22.22.168:51227;branch=z9hG4bK267d9906
From: <sip:4000@xxx.xxx.xxx.xxx>;tag=000000000000000b7b1a2ec9-64d179df
To: <sip:4000@xxx.xxx.xxx.xxx>
Call-ID: b4e9b0b1-29180002-2bf06e2a-41307e56@10.22.22.168
Max-Forwards: 70
Date: Wed, 03 Oct 2018 00:49:47 GMT
CSeq: 105 REGISTER
User-Agent: Cisco-CP8945/9.4.2
Contact: <sip:4000@10.22.22.168:51227;transport=tcp>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-000000000000>";+u.sip!devicename.ccm.cisco.com="SEP000000000000";+u.sip!model.ccm.cisco.com="585";video
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1
Content-Length: 0
Expires: 0
Authorization: Digest username="4000",realm="xxx.xxx.xxx.xxx",uri="sip:xxx.xxx.xxx.xxx",response="197aa7d0a8f17765a282446e247d27ed",nonce="15714a71-f55b-4157-8b9a-ea3a7c7f9bb8",cnonce="31224280",qop=auth,nc=00000002,algorithm=MD5

------------------------------------------------------------------------
send 601 bytes to tcp/[YYY.YYY.YYY.YYY]:51227 at 19:49:47.779124:
------------------------------------------------------------------------
SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.22.22.168:51227;branch=z9hG4bK267d9906;received=YYY.YYY.YYY.YYY;rport=51227
From: <sip:4000@xxx.xxx.xxx.xxx>;tag=000000000000000b7b1a2ec9-64d179df
To: <sip:4000@xxx.xxx.xxx.xxx>;tag=Z2jttm2KBQDem
Call-ID: b4e9b0b1-29180002-2bf06e2a-41307e56@10.22.22.168
CSeq: 105 REGISTER
Contact: <sip:4000@10.22.22.168:54237;transport=tcp>;expires=5
Date: Wed, 03 Oct 2018 00:49:44 GMT
User-Agent: FreeSWITCH
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, path, replaces
Content-Length: 0

When I delete domain xxx.xxx.xxx.xxx and try to force the phone to register to the domain name FQDN.of.OurDomain, we receive the following error when registering.


2018-10-02 20:02:16.531288 [WARNING] sofia_reg.c:2906 Can't find user [4000@xxx.xxx.xxx.xxx] from yyy.yyy.yyy.yyy
You must define a domain called 'xxx.xxx.xxx.xxx' in your directory and add a user with the id="4000" attribute
and you must configure your device to use the proper domain in it's authentication credentials.
2018-10-02 20:02:16.531288 [WARNING] sofia_reg.c:1737 SIP auth failure (REGISTER) on sofia profile 'internal' for [4000@xxx.xxx.xxx.xxx] from ip yyy.yyy.yyy.yyy
send 507 bytes to tcp/[yyy.yyy.yyy.yyy]:58791 at 20:02:19.364028:
------------------------------------------------------------------------
SIP/2.0 403 Forbidden
Via: SIP/2.0/TCP 10.22.22.168:58791;branch=z9hG4bK1b7095ec;received=yyy.yyy.yyy.yyy;rport=58791
From: <sip:4000@xxx.xxx.xxx.xxx>;tag=0000000000000005134205db-30e6c7f1
To: <sip:4000@xxx.xxx.xxx.xxx>;tag=a7H46ZpBFpBjp
Call-ID: b4e9b0b1-29180002-73fe8436-537d3050@10.22.22.168
CSeq: 102 REGISTER
User-Agent: FreeSWITCH
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, path, replaces
Content-Length: 0

------------------------------------------------------------------------

The Debug on the phone shows:

00:00:01:41.154 - E/Checking Account: Line=4000 (OK)
00:00:01:41.156 - E/Checking CUCM1: FQDN - FQDN.of.OurDomain (Pending)
00:00:01:41.171 - E/Checking TFTP1: IPv4 - 10.22.22.152 (OK)
uigen_header: Phone not registered
[MMI]Not update call ui on unregister b_update:undefined
uigen_header: Phone not registered
------ Menu proxy get:applications
00:00:01:41.415 - E/Checking CUCM1: FQDN - FQDN.of.OurDomain ==> xxx.xxx.xxx.xxx (OK)
00:00:01:42.649 - D/SIPCC-SIP_REG: sip_regmgr_handle_reg_all_fail: All registration attempts failed.
00:00:01:42.649 - E/SIPCC-SIP_TRANS: sip_transport_get_ti_addr: No active CUCM found using primary CUCM


00:00:01:49.776 - D/SIPCC-SIP_TRANS: sipTransportCfgTableInit: For VISITING_CCM: IPv4 Addr: Port: 0 listen Port: 0 IPv6 Addr: Port: 0 listen Port: 0 transport: 1 Sec Level: 0 IP type: 0
00:00:01:49.801 - D/SIPCC-SIP_TRANS: sip_get_local_ip_addr: src_addr: 10.22.22.168
00:00:01:49.801 - D/SIPCC-SIP_TRANS: sip_transport_getaddrinfo: xxx.xxx.xxx.xxx is already an IPv4 address
00:00:01:49.802 - I/SIPCC: platGetLocalIPAddr(). dst_addr=xxx.xxx.xxx.xxx [out]src_addr=10.22.22.168, int_type=1
00:00:01:49.802 - D/SIPCC-SIP_TRANS: sipTransportCfgTableInit: For PRIMARY_CCM: IPv4 Addr: xxx.xxx.xxx.xxx Port: 5060 listen Port: 5060 IPv6 Addr: [::0] Port: 5060 listen Port: 5060 transport: 1 Sec Level: 0 IP type: 1
 

DigitalDaz

Administrator
Staff member
Sep 29, 2016
3,044
565
113
Unfortunately, you may well find that you are NEVER able to do this. The Cisco phones where never designed to work without call manager and all info regarding them has been reverse engineered.

There was one model I had myself, nice touch screen thing that I gave up on eventually, I just came to realise it wasn't going to play ball in any way with multiline though I did manage to get it to use the domain name, I'm pretty sure. Another hurdle you will come across is that unlike most other phones, later versions of Cisco firmware do not mean better. You may even want to try downgrading the firmware. Later versions required that CALLMANAGER variable. Good luck, I eventually conceded that the best thing for Ciscos was to throw them away.
 
Status
Not open for further replies.