NO JOY Cisco 7941 + PIAF on EC2

Al Grant

Member
Joined
Jun 4, 2014
Messages
30
Reaction score
0
Ok,

To get around the rport problem I decided to try TCP.

I looks like to use TCP I should use a newer firmware so, as snarpatroid suggested I went to 9.3.1SR2

The upgrade went fine but then I noted I need to use <proxy>USECALLMANAGER</proxy> in my <line> config section of my SEP<mac>.xml.cnf

Then I still could not get the phone to register - with the old stuck on registering problem that others have had on the newer firmwares.

A tcpdump shows the phone is not even trying to register.

I dug a little deeper and ssh'd into the phone with log/log and it shows this:

Code:
1951: NOT 14:50:06.513540 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1952: ERR 14:50:06.514942 JVM: SIPCC-SYS_CALL: sip_tcp_channel_send: Error: sipSocketSend failed: errno = 54
1953: NOT 14:50:10.513519 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1954: ERR 14:50:10.514835 JVM: SIPCC-SYS_CALL: sip_tcp_channel_send: Error: sipSocketSend failed: errno = 54
1955: NOT 14:50:14.513526 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1956: ERR 14:50:14.514937 JVM: SIPCC-SYS_CALL: sip_tcp_channel_send: Error: sipSocketSend failed: errno = 54
1957: NOT 14:50:18.617885 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1958: ERR 14:50:18.619222 JVM: SIPCC-SYS_CALL: sip_tcp_channel_send: Error: sipSocketSend failed: errno = 54
1959: NOT 14:50:22.588884 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1960: ERR 14:50:22.590358 JVM: SIPCC-SYS_CALL: sip_tcp_channel_send: Error: sipSocketSend failed: errno = 54
1961: ERR 14:50:25.501057 JVM: SIP : sip_tcp_read_socket : socket error=145
1962: NOT 14:50:25.687603 JVM: SIPCC-SIP_TCP_MSG: sip_tcp_purge_entry: Socket fd: 27 closed for connid 0 with address: 1, remote port: 3232249750
1963: ERR 14:50:25.688688 JVM: SIPCC-SIP_TCP_MSG: sip_tcp_createconnfailed_to_spi: send a SIP_TMR_REG_RETRYmessage so this cucm ip:192.168.55.150 can be put in fallback list
1964: ERR 14:50:25.689855 JVM: SIP : sip_tcp_detach_socket : Invalid socket
1965: NOT 14:50:25.692912 JVM: SIPCC-SIP_TCP_MSG: sip_tcp_purge_entry: Socket fd: -1 closed for connid 0 with address: 0, remote port: 0
1966: NOT 14:50:25.695304 JVM: SIPCC-SIP_REG_STATE: 1/51, sip_reg_sm_process_event: SIP_REG_STATE_REGISTERING <- E_SIP_REG_TMR_RETRY
1967: ERR 14:50:25.696322 JVM: SIP : sip_tcp_detach_socket : Invalid socket
1968: NOT 14:50:25.697405 JVM: SIPCC-SIP_TCP_MSG: sip_tcp_purge_entry: Socket fd: -1 closed for connid 0 with address: 0, remote port: 0
1969: NOT 14:50:25.708453 JVM: set_active_ccm: ccm=PRIMARY  port=-1
1970: ERR 14:50:25.709603 JVM: SIPCC-LINE_NUM: sip_platform_localexpires_timer_stop: Error: Line number (86) is invalid
1971: NOT 14:50:25.711357 JVM: SIPCC-UI_API: 1/0, ui_set_sip_registration_state: 0
1972: NOT 14:50:25.713844 JVM: SIPCC-UI_API: 0/0, ui_set_notification: Registering: 0  :20
1973: ERR 14:50:25.759171 JVM: Startup Module Loader|JniJSesssionApi:isThisFailureFromNewCause - old unregReason =10 newUnregReason=10 unregReason ignored
1974: DBG 14:50:25.784917 JVM:  --> PropertySetEnergywisePhonePowerLevel: level is 10
1975: ERR 14:50:25.786708 JVM: ..LOCALCONNECT FAILED
1976: ERR 14:50:26.054462 JVM: Startup Module Loader|cip.sipcc.d:  - regAllFailed(): mgmtState=4
1977: WRN 14:50:26.056583 JVM: Startup Module Loader|DisplayTask:? - acceptEWPowerSetting(): level 10
1978: ERR 14:50:26.058700 JVM: Startup Module Loader|cip.props.u:? - device.settings.energywise.phonepowerlevel IO error.
1979: WRN 14:50:26.061433 JVM: Startup Module Loader|JPlatUi:  - platformResetReq: resetRequest type=2
1980: NOT 14:50:26.295918 JVM: SIPCC-SIP_CTRL: sip_shutdown_phase1: In sip_shutdown_phase1 (1)

I see that the sipSocketSend failed errno=54 comes up and is probably the reason that the phone isnt even trying to register - but what does this mean? and how to fix?

I have attached my SEP<mac>xml.cnf too if anyone can help. It might be something to do with transmissionProtocol line....note I am back to trying to get it to register on my local piaf server until I get past these issues.

Code:
<device>
    <deviceProtocol>SIP</deviceProtocol>
    <sshUserId>cisco</sshUserId>
    <sshPassword>cisco</sshPassword>
    <devicePool>
        <dateTimeSetting>
            <dateTemplate>D/M/YA</dateTemplate>
            <timeZone>New Zealand Standard/Daylight Time</timeZone>
            <ntps>
                <ntp>
                    <name>time.nist.gov</name>
                    <ntpMode>Unicast</ntpMode>
                </ntp>
            </ntps>
        </dateTimeSetting>
        <callManagerGroup>
            <members>
                <member priority="0">
                    <callManager>
                        <processNodeName>192.168.55.150</processNodeName>
                        <ports>
                            <sipPort>5060</sipPort>
                        </ports>
                    </callManager>
                </member>
            </members>
        </callManagerGroup>
    </devicePool>
    <sipProfile>
        <natEnabled></natEnabled>
             <natAddress></natAddress>
        <sipProxies>
            <registerWithProxy>true</registerWithProxy>
            <outboundProxy></outboundProxy>
            <outboundProxyPort></outboundProxyPort>
            <backupProxy>192.168.55.150</backupProxy>
            <backupProxyPort>5060</backupProxyPort>
        </sipProxies>
        <preferredCodec>none</preferredCodec>
        <phoneLabel>Home (TCP)</phoneLabel>
        <sipLines>

            <line button="1">
                <featureID>9</featureID>
                <featureLabel>92111</featureLabel>
                <proxy>USECALLMANAGER</proxy>
                <port>5060</port>
                <name>92111</name>
                <authName>92111</authName>
                <authPassword>letmein</authPassword>
                <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
                <messagesNumber>*55</messagesNumber>
            </line>

        </sipLines>
        <dialTemplate>dialplan.xml</dialTemplate>
    </sipProfile>

    <directoryURL>http://192.168.55.150/cisco/services/menu.xml</directoryURL>    
        <servicesURL>http://192.168.55.150/cisco/services/PhoneServices.php</servicesURL>
        <idleURL>http://192.168.55.150/cisco/services/idle.php</idleURL>
        <idleTimeout>180</idleTimeout>

    <networkLocale>New_Zealand</networkLocale><networkLocaleInfo><name>New_Zealand</name><uid>64</uid><version>1.0.0.0-1</version></networkLocaleInfo>

    <vendorConfig>
        <pcPort>0</pcPort>
        <spanToPCPort>0</spanToPCPort>
        <loggingDisplay>1</loggingDisplay>
        <sshAccess>0</sshAccess>
        <sshPort>22</sshPort>
    </vendorConfig>

    <transmissionLayerProtocol>2</transmissionLayerProtocol>

</device>


Thanks

-Al
 

Al Grant

Member
Joined
Jun 4, 2014
Messages
30
Reaction score
0
I also notice the line:

Code:
1970: ERR 14:50:25.709603 JVM: SIPCC-LINE_NUM: sip_platform_localexpires_timer_stop: Error: Line number (86) is invalid

Which is weird since I dont have 86 lines in my xml.cnf - line number of what file could this refer to?
 

jharre

New Member
Joined
Jun 9, 2014
Messages
14
Reaction score
0
On the line :<proxy>USECALLMANAGER</proxy>

Don't you need to plug in the IP of the PiaF box instead of "USECALLMANAGER"?

i.e. 192.168.55.150
 

Jake

Active Member
Joined
Aug 27, 2010
Messages
418
Reaction score
81
Yes, it certainly seems to be problematic to get it to work over NAT. I am going to see if snarpatroid wants to try to work on it with me.....

Will post results if I do.

Did you VPN to EC2?

No, I haven't used a cloud provider yet. For the Cisco phones I used two PBXs one for each site and did a hamachi tunnel and IAX trunk between them. This was about 4 years ago.

Not spoil your fun with these Cisco phones but lately I've been using Yealinks and they have built in OpenVPN support and it works great!
 
Joined
May 22, 2013
Messages
301
Reaction score
44
This is a live config file taken from one of my handsets right now on 9.3.1 SR2, the only changes I have made are to take out some of my personal settings which I have put ### at the start of the change so you can easily put yours in, anything else should not be changed.

My extension in Asterisk is set to use all protocols but TCP is primary, make sure you set the password accurately in both, make sure you also have tcpenable=yes in Asterisk SIP settings page. If you have problems after this your problems are possibly further down and could be a firewall issue, try working on a 'dry' router not connected to the internet with no security first to get it working locally then add your layers of security until you identify a problem.

Code:
<device>
   <deviceProtocol>SIP</deviceProtocol>
   <sshUserId>cisco</sshUserId>
   <sshPassword>cisco</sshPassword>
   <devicePool>
      <dateTimeSetting>
         <dateTemplate>D-M-Y</dateTemplate>
         <timeZone>GMT Standard/Daylight Time</timeZone>
         <ntps>
              <ntp>
                  <name>0.uk/pool.ntp.org</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>###YOURIPADDRESS</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>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>###Ext XXX</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>###YOURLABEL</featureLabel>
            <proxy>USECALLMANAGER</proxy>
            <port>5060</port>
            <name>YOUREXTNUMBER</name>
            <displayName>###YOURLABEL</displayName>
            <autoAnswer>
               <autoAnswerEnabled>2</autoAnswerEnabled>
            </autoAnswer>
            <callWaiting>3</callWaiting>
            <authName>###YOUREXTENSION</authName>
            <authPassword>###YOURPASSWORD</authPassword>
            <sharedLine>false</sharedLine>
            <messageWaitingLampPolicy>1</messageWaitingLampPolicy>
            <messagesNumber>*98</messagesNumber>
            <ringSettingIdle>4</ringSettingIdle>
            <ringSettingActive>5</ringSettingActive>
            <contact>###EXT</contact>
            <forwardCallInfoDisplay>
               <callerName>true</callerName>
               <callerNumber>true</callerNumber>
               <redirectedNumber>false</redirectedNumber>
               <dialedNumber>true</dialedNumber>
            </forwardCallInfoDisplay>
         </line>   
         <line button="2">
            <featureID>21</featureID>
            <featureLabel>Retrieve Parked Call</featureLabel>
            <speedDialNumber>*85</speedDialNumber>
            <featureOptionMask>1</featureOptionMask>
         </line>   
      </sipLines>
      <voipControlPort>5060</voipControlPort>
      <dscpForAudio>184</dscpForAudio>
      <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
      <dialTemplate>dialplan.xml</dialTemplate>
      <softKeyFile>softkeys.xml</softKeyFile>
   </sipProfile>
   <commonProfile>
      <phonePassword></phonePassword>
      <backgroundImageAccess>true</backgroundImageAccess>
      <callLogBlfEnabled>1</callLogBlfEnabled>
   </commonProfile>
   <loadInformation>SIP41.9-3-1SR2-1S</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>GB</networkLocale>
   <networkLocaleInfo>
      <name>GB</name>
      <version>5.0(2)</version>
   </networkLocaleInfo>
   <deviceSecurityMode>1</deviceSecurityMode>
   <authenticationURL></authenticationURL>
   <directoryURL>###http://YOURIP/cisco/services/menu.xml</directoryURL>
   <idleURL></idleURL>
   <informationURL>###http://YOURIP/cisco/services/help.php</informationURL>
   <messagesURL></messagesURL>
   <proxyServerURL></proxyServerURL>
   <servicesURL>###http://YOURIP/cisco/services/PhoneServices.php</servicesURL>
   <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
   <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
   <dscpForCm2Dvce>96</dscpForCm2Dvce>
   <transportLayerProtocol>1</transportLayerProtocol>
   <capfAuthMode>0</capfAuthMode>
   <capfList>
      <capf>
         <phonePort>3804</phonePort>
      </capf>
   </capfList>
   <certHash></certHash>
   <encrConfig>false</encrConfig>
</device>
 
Joined
May 22, 2013
Messages
301
Reaction score
44
I have noticed today Cisco are on 9.4 (2) which has a couple of security upgrades, I have downloaded the firmware and confirm it is working fine for me.

All you have to do is place the firmware files in tftpboot and change the config line

Code:
<loadInformation>SIP41.9-3-1SR2-1S</loadInformation>

to
Code:
<loadInformation>SIP41.9-4-2-1S</loadInformation>
 

Al Grant

Member
Joined
Jun 4, 2014
Messages
30
Reaction score
0
Well I tried.

Here is my edits (and I only edited what you prefixed with ##

Code:
<device>
   <deviceProtocol>SIP</deviceProtocol>
   <sshUserId>cisco</sshUserId>
   <sshPassword>cisco</sshPassword>
   <devicePool>
      <dateTimeSetting>
         <dateTemplate>D-M-Y</dateTemplate>
         <timeZone>GMT Standard/Daylight Time</timeZone>
         <ntps>
              <ntp>
                  <name>0.uk/pool.ntp.org</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>192.168.55.150</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>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>snarp</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>92111</featureLabel>
            <proxy>USECALLMANAGER</proxy>
            <port>5060</port>
            <name>92111</name>
            <displayName>92111</displayName>
            <autoAnswer>
               <autoAnswerEnabled>2</autoAnswerEnabled>
            </autoAnswer>
            <callWaiting>3</callWaiting>
            <authName>92111</authName>
            <authPassword>letmein</authPassword>
            <sharedLine>false</sharedLine>
            <messageWaitingLampPolicy>1</messageWaitingLampPolicy>
            <messagesNumber>*98</messagesNumber>
            <ringSettingIdle>4</ringSettingIdle>
            <ringSettingActive>5</ringSettingActive>
            <contact>92111</contact>
            <forwardCallInfoDisplay>
               <callerName>true</callerName>
               <callerNumber>true</callerNumber>
               <redirectedNumber>false</redirectedNumber>
               <dialedNumber>true</dialedNumber>
            </forwardCallInfoDisplay>
         </line>   
         <line button="2">
            <featureID>21</featureID>
            <featureLabel>Retrieve Parked Call</featureLabel>
            <speedDialNumber>*85</speedDialNumber>
            <featureOptionMask>1</featureOptionMask>
         </line>   
      </sipLines>
      <voipControlPort>5060</voipControlPort>
      <dscpForAudio>184</dscpForAudio>
      <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
      <dialTemplate>dialplan.xml</dialTemplate>
      <softKeyFile>softkeys.xml</softKeyFile>
   </sipProfile>
   <commonProfile>
      <phonePassword></phonePassword>
      <backgroundImageAccess>true</backgroundImageAccess>
      <callLogBlfEnabled>1</callLogBlfEnabled>
   </commonProfile>
   <loadInformation>SIP41.9-4-2-1S</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>GB</networkLocale>
   <networkLocaleInfo>
      <name>GB</name>
      <version>5.0(2)</version>
   </networkLocaleInfo>
   <deviceSecurityMode>1</deviceSecurityMode>
   <authenticationURL></authenticationURL>
   <directoryURL>###http://192.168.55.150/cisco/services/menu.xml</directoryURL>
   <idleURL></idleURL>
   <informationURL>###http://192.168.55.150/cisco/services/help.php</informationURL>
   <messagesURL></messagesURL>
   <proxyServerURL></proxyServerURL>
   <servicesURL>###http://192.168.55.150/cisco/services/PhoneServices.php</servicesURL>
   <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
   <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
   <dscpForCm2Dvce>96</dscpForCm2Dvce>
   <transportLayerProtocol>1</transportLayerProtocol>
   <capfAuthMode>0</capfAuthMode>
   <capfList>
      <capf>
         <phonePort>3804</phonePort>
      </capf>
   </capfList>
   <certHash></certHash>
   <encrConfig>false</encrConfig>
</device>

Note I changed the password for the purposes of the post.

Thoughts?

The problem is the same - on both a PC connected to the span port and with tcpdump on the server, and asterisk -vvvvr - I see no attempt by the phone to even register!

*sigh*

-AL
 
Joined
May 22, 2013
Messages
301
Reaction score
44
I think you need to go back to basics, something's not right somewhere.

Do a fresh install of PIAF. Put the sep config file in your tftpboot. Make sure your MAC address is spot on and set a password. Use copy-paste to make sure the same password is in PIAF and your config file. Also make sure you have softkeys.xml and dialplan.xml in your tftpboot, and all the files from Cisco's unsigned firmware 9.4 release. Set up a single extension, set it to use all protocols and TCP as your priority. Then in Asterisk SIP settings ensure you have tcpenable=yes.

Go through the config file too with a fine toothcomb to check your IP addresses are spot on everywhere, one small mistake somewhere will kick you out and you won't even get a handset attempting to register. You need to change the load information line to the firmware version you have just downloaded (the name will match one of the .loads file exactly).

Next plug in your phone. It should boot up, see your t*f*t*p server, pull the latest firmware down if you're not already on 9.4 (you will see an upgrade screen), then try to register. If it doesn't, make sure in your network settings on the phone you have set the t*f*t*p server to the same IP address as PIAF, this is one setting you can adjust on the handset and you need to for it to work.

This should all get you going on a basic system, then you can add in layers of other things, but start with the basics. I spent weeks getting these handsets going but I have been there, what you have to do is have a lot of patience. These phones give very little feedback when errors happen as they are expecting Cisco call manager to report all the problems, which we aren't working with. If you get stuck after all this my best advice is, if you can, leave it for a couple of days and come back to it. I have done this myself and suggested the same to others, a few days away from a problem can work wonders and you do get a lightbulb moment a lot of the time.
 

Al Grant

Member
Joined
Jun 4, 2014
Messages
30
Reaction score
0
Good news!

I got the phone on 9.4 to register. Immediately before it registered I did a few things - one of these was the fix, and they are all to do with enabling TCP on PIAF:

IPTABLES:

Code:
iptables -A INPUT -p tcp -m tcp --dport 5060 -j ACCEPT

Also put this line in /etc/sysconfig/iptables

ENABLE TCP

Putting tcpenable=yes and tcpbindaddr=0.0.0.0 in the webgui extra settings didnt work for me. I had to enter it into the conf files in /etc/asterisk.

From memory it was

sip_custom.conf
Code:
tcpenable=yes
tcpbindaddr=0.0.0.0
 
[peer]
transport=tcp

sip_custom_post.conf
Code:
[92111](+)
transport=tcp

Restart asterisk.

The phone now registers with my LAN server. Incoming calls dont work yet (help).

Once i get incoming to work its onto the getting it to go with the cloud.

-Al
 
Joined
May 22, 2013
Messages
301
Reaction score
44
That's good news. Be as specific as you can on problems, so what is the problem exactly - does the handset ring but no audio? Does it not ring at all? What happens on outbound calls? What's the output of asterisk -vvvvr when trying to receive a call?
 

Al Grant

Member
Joined
Jun 4, 2014
Messages
30
Reaction score
0
Getting there. I have a day job like you!!

Will post when home :)

But no ring at all. Call goes to providers voicemail.
 

Al Grant

Member
Joined
Jun 4, 2014
Messages
30
Reaction score
0
Well I have made major progress.

How have the phone making/receiving calls on my LAN PIAF.

Also have the phone making/receiving calls on my EC2 PIAF.

All my registering problems had there root in TCP 5060 not being enabled. Now that I got TCP working it also got around the problems the 7941 had with remote servers that are NAT'ing and rport.

1. What locale files should I get for NZ from Cisco? (I guess English_UK?)

2. What xml options would I need to set the phones button to simply be a speed dial?

3. Is there a way to lock the phone down so that it only accepts connections from any IP in NZ?

Thanks,

-Al
 
Joined
May 22, 2013
Messages
301
Reaction score
44
These handsets do prefer TCP so that is great news, particularly about EC2.

1 - There is a locale for NZ. How you get it is a different matter. I can't remember how I got the GB locale now but I seem to recall it took a lot of searching. Without a locale file the service defaults to US, I have the GB locale in my resources, otherwise it's looking around. The locale file tells the handset what tones to generate, so for instance the busy tone for US is different to GB. The network congestion tone for US is a fast busy tone, for GB it is like one busy beep and half a busy beep alternating. The locale file tells the phone what sound the tones should be produced.

2 - Use exactly the same config I have for line 2 in my config file above, change *85 to the number you want to speed dial, change the label to what you want.

3 - Possibly, but not easily. You'd have to define ranges to block in Asterisk, there's no dynamic way of allowing this AFAIK. Then you run the risk of blocking legitimate calls.
 

Al Grant

Member
Joined
Jun 4, 2014
Messages
30
Reaction score
0
Thanks Snarptroid,

1/ Looking at your resources, the locale file is just another XML style file? Of course I dont know what should be in it for NZ?

I search the cisco site for locales but could only find a few counties (take a look at table 11-3 about 1/4 way down http://www.cisco.com/c/en/us/td/doc...tion/guide/cmeadm/cmelocal.html#pgfId-1123828 )

I wondered if we would just be the same as the motherland!!

2/ Done - cool :)

3/ I have seen some files which block by locale for IPTables. Everything to and from my PIAF server originates in NZ because thats where my upstream provider is - so I shouldnt miss anything by locking down to NZ only.

So glad I persisted and got it to go.

Thanks

-Al
 
Joined
May 22, 2013
Messages
301
Reaction score
44
Good work, these handsets do take persistence and patience to get going. Once they're up though they are solid phones and should last you years.

If you're feeling brave enough, do a full backup of your working system then upgrade to Asterisk 11.12.0 and apply the patch (check out resources for my guide on patching, read the full guide first as I updated it this week). Features include proper hint reporting of DND, a record softkey on your phone, BLF indicators which I use for parked calls, a call park softkey, fully featured phone operated conference calling so you can see who is on the call and add/mute/remove others. Few other things too.

I waited for about a month after I'd cracked the foundations of Asterisk with these phones before I dared to consider patching it, I was so frightened of breaking it. I nearly did too as the guidance to apply patches was a bit, well, patchy. Follow my guide though and you'll be fine, gives you some great features.

Why Digium hasn't included this patch in Asterisk is beyond me. There must be hundreds of thousands (if not millions) of Cisco handsets this issue could impact on, yet all the work is down to one guy doing it in his own time and has been for a few years now. The conspiracy theory for me questions has someone in Cisco leaned on someone at Digium? I don't know, I could be totally wrong, but once you see the power you get once you've patched these phones you can see why maybe Cisco don't want you to have it in the public domain and use their software instead.
 

WJCarpenter

New Member
Joined
Jun 26, 2014
Messages
4
Reaction score
2
BTW, I am one of the aimless people wandering the earth looking for a 7961/7941 config file that will actually work with the Cisco SIP 9.x firmware. FWIW, I have long had complete success with Cisco SIP 8.x firmware. Today, I found my first success here with 9.x. So, yay, and thanks snarpatroid.

Here's what got me on the air. I've probably seen this a million times but it just didn't register. In the configuration for individual lines, you have a "proxy" element. If you put the address of your PBX server in there, the phone will not even try to register. (I am snooping the network with wireshark, so I know it's the phone that is the problem.) Finally, I realized that the element value should be the literal string "USECALLMANAGER", that is "<proxy>USECALLMANAGER</proxy>". In all the other places I have seen that in configs, I thought the authors were just figuratively telling me to use the address of my PBX. But I guess it tells the phone to use the proxy settings from the call manager section of the config file. Makes sense, and I feel like a genius for not noticing that for (some embarrassing amount of time).

Happy smiley faces.
 
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.
Top