usecallmanagernz / patches

Patches for Asterisk.
GNU General Public License v2.0
37 stars 7 forks source link

BLF Pickup CiscO 88XX/78XX #12

Open pmblha opened 3 weeks ago

pmblha commented 3 weeks ago

Hi all,

we have a problem with the call pickup initiated from 88XX or 78XX phones.

The BLF is working, hints and subscription are configured. The call pickup from a 3rd phone(blf, 8841) is working but the phone display is not changing its state. The phone which picked up the cal via BLF has the call and can speak with the caller but the display stays in the same state as it was idle/on hook and is therefore not showing softkeys related to an ongoing call also (transfer, etc.)

I tried different firmware versions already, and checked the SoftKeys.xml against a version download by tftp from a cisco cucm.

Anybody any hints where i can start to track down the missing part / error?

The corresponding part of asterisk extensions.conf which is used according to the asterisk console:

; blf pickup exten => _blfpickup-.,1,PickupChan(SIP/${EXTEN:10}) same => next,Hangup(normal_circuit_congestion)

gareth-palmer commented 3 weeks ago

If you have access to CUCM you could get a SIP trace of what messages get sent to the phone that does the pickup. There may be additional headers or something that is now needed.

I will see if I can replicate the issue.

gareth-palmer commented 3 weeks ago

I have tested this and did not see that behaviour. You won't see soft-keys like Transfer, Conference, End Call etc. as those are feature keys on the 78xx and 88xx series.

pmblha commented 2 weeks ago

Hi Gareth,

thanks a lot for your support.

We do not see keys like Transfer, Conference, End call , at all too. Additionally the dipsplay shows the same state as if the phone stays idle (no caller information, no call information). The behaviour is same für 88xx and 78xx phones.

I will stay at the site with the cucm end of week and will try to get traces. As I am not familiar with cucm at all and we are migrating to asterisk: Do you know cucm has a function to do the sip traces dirctly or do I need to use tcpdump?

gareth-palmer commented 2 weeks ago

Can you attach the SEPMAC.cnf.xml you are using for that phone and a screenshot (ie using: http://<phone IP>/CGI/Screenshot) of the phone in state.

Using tcpdump is probably the easiest method.

pmblha commented 2 weeks ago

Hi gareth,

here is the SEPMAC.cnf.xml, and thanks again! Screenshots I will send on Friday, when I am back on site where the phones stay.

<?xml version="1.0" encoding="UTF-8"?>
<device>
  <deviceProtocol>SIP</deviceProtocol>
  <sshAccess>0</sshAccess>
  <sshUserId>localadmin</sshUserId>
  <sshPassword>XXXXXXXX</sshPassword>
  <devicePool>
    <dateTimeSetting>
      <dateTemplate>D.M.Y</dateTemplate>
      <timeZone>W. Europe Standard/Daylight Time</timeZone>
      <ntps>
        <ntp>
          <name>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.2</processNodeName>
          </callManager>
        </member>
      </members>
    </callManagerGroup>
  </devicePool>
  <sipProfile>
    <sipProxies>
      <backupProxy/>
      <backupProxyPort>5060</backupProxyPort>
      <emergencyProxy/>
      <emergencyProxyPort/>
      <outboundProxy/>
      <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>false</remotePartyID>
      <userInfo>None</userInfo>
    </sipStack>
    <autoAnswerTimer>1</autoAnswerTimer>
    <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
    <autoAnswerOverride>true</autoAnswerOverride>
    <transferOnhookEnabled>false</transferOnhookEnabled>
    <enableVad>false</enableVad>
    <dtmfAvtPayload>101</dtmfAvtPayload>
    <dtmfDbLevel>3</dtmfDbLevel>
    <dtmfOutofBand>avt</dtmfOutofBand>
    <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
    <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
    <kpml>3</kpml>
    <phoneLabel>B-034</phoneLabel>
    <stutterMsgWaiting>1</stutterMsgWaiting>
    <callStats>false</callStats>
    <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
    <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
    <sipLines>
      <line button="1">
        <featureID>9</featureID>
        <featureLabel>511</featureLabel>
        <proxy>USECALLMANAGER</proxy>
        <port>5060</port>
        <name>511</name>
        <displayName>511</displayName>
        <autoAnswer>
          <autoAnswerEnabled>2</autoAnswerEnabled>
        </autoAnswer>
        <callWaiting>3</callWaiting>
        <authName>511</authName>
        <authPassword>XXXX</authPassword>
        <sharedLine>false</sharedLine>
        <messageWaitingLampPolicy>1</messageWaitingLampPolicy>
        <messagesNumber>*97</messagesNumber>
        <ringSettingIdle>4</ringSettingIdle>
        <ringSettingActive>5</ringSettingActive>
        <contact>511</contact>
        <forwardCallInfoDisplay>
          <callerName>true</callerName>
          <callerNumber>false</callerNumber>
          <redirectedNumber>false</redirectedNumber>
          <dialedNumber>true</dialedNumber>
        </forwardCallInfoDisplay>
      </line>
      <line button="2">
        <featureID>21</featureID>
        <featureLabel>Max Mustermann</featureLabel>
        <speedDialNumber>741</speedDialNumber>
        <featureOptionMask>1</featureOptionMask>
      </line>
      <line button="3">
        <featureID>21</featureID>
        <featureLabel>Max1 Mustermann</featureLabel>
        <speedDialNumber>801</speedDialNumber>
        <featureOptionMask>1</featureOptionMask>
      </line>
      <line button="4">
        <featureID>21</featureID>
        <featureLabelMax2 Mustermann</featureLabel>
        <speedDialNumber>704</speedDialNumber>
        <featureOptionMask>1</featureOptionMask>
      </line>
      <line button="5">
        <featureID>21</featureID>
        <featureLabel>512 PickupTest</featureLabel>
        <speedDialNumber>512</speedDialNumber>
        <featureOptionMask>1</featureOptionMask>
      </line>
    </sipLines>
    <voipControlPort>5060</voipControlPort>
    <startMediaPort>16348</startMediaPort>
    <stopMediaPort>20134</stopMediaPort>
    <dscpForAudio>184</dscpForAudio>
    <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
    <dialTemplate>DialTemplate.xml</dialTemplate>
    <softKeyFile>SoftKeys.xml</softKeyFile>
  </sipProfile>
  <commonProfile>
    <phonePassword/>
    <backgroundImageAccess>true</backgroundImageAccess>
    <callLogBlfEnabled>2</callLogBlfEnabled>
  </commonProfile>
  <loadInformation>different_firmware_testet</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>
    <daysDisplayNotActive>1,7</daysDisplayNotActive>
    <displayOnTime>07:00</displayOnTime>
    <displayOnDuration>11:00</displayOnDuration>
    <displayIdleTimeout>00:15</displayIdleTimeout>
    <displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
    <daysBacklightNotActive>1,7</daysBacklightNotActive>
    <backlightOnTime>07:00</backlightOnTime>
    <backlightOnDuration>11:00</backlightOnDuration>
    <backlightIdleTimeout>0:15</backlightIdleTimeout>
    <backlightOnWhenIncomingCall>1</backlightOnWhenIncomingCall>
    <spanToPCPort>1</spanToPCPort>
    <loggingDisplay>1</loggingDisplay>
    <loadServer/>
  </vendorConfig>
  <addOnModules/>
  <userLocale>
    <name>german_germany</name>
    <uid/>
    <langCode>de_DE</langCode>
    <version>1.0.0.0-1</version>
    <winCharSet>utf-8</winCharSet>
  </userLocale>
  <networkLocale/>
  <networkLocaleInfo>
    <name>german</name>
    <uid/>
    <version>1.0.0.0-1</version>
  </networkLocaleInfo>
  <deviceSecurityMode>1</deviceSecurityMode>
  <authenticationURL/>
  <directoryURL>http://192.168.55.3:8000</directoryURL>
  <servicesURL/>
  <idleURL/>
  <informationURL/>
  <messagesURL/>
  <proxyServerURL/>
  <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
  <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
  <dscpForCm2Dvce>96</dscpForCm2Dvce>
  <transportLayerProtocol>4</transportLayerProtocol>
  <capfAuthMode>0</capfAuthMode>
  <capfList>
    <capf>
      <phonePort>3804</phonePort>
    </capf>
  </capfList>
  <phoneServices useHTTPS="false">
    <provisioning>2</provisioning>
    <phoneService type="1" category="0">
      <name>Missed Calls</name>
      <url>Application:Cisco/MissedCalls</url>
      <vendor/>
      <version/>
    </phoneService>
    <phoneService type="1" category="0">
      <name>Received Calls</name>
      <url>Application:Cisco/ReceivedCalls</url>
      <vendor/>
      <version/>
    </phoneService>
    <phoneService type="1" category="0">
      <name>Placed Calls</name>
      <url>Application:Cisco/PlacedCalls</url>
      <vendor/>
      <version/>
    </phoneService>
    <phoneService type="2" category="0">
      <name>Voicemail</name>
      <url>Application:Cisco/Voicemail</url>
      <vendor/>
      <version/>
    </phoneService>
  </phoneServices>
  <certHash/>
  <encrConfig>false</encrConfig>
</device>
gareth-palmer commented 2 weeks ago

There needs to be a lineIndex attribute for featureID 9 buttons. ie: <button index="1" lineIndex="1">.

The featureLabel for line button 4 is missing a >.

loadInformation doesn't show what firmware you are using. I tested with the latest, 14.2(1)SR2.

pmblha commented 2 weeks ago

Hi Gareth,

I added the line Index to the feature ID 9 button and activated firmware sip88xx.14-2-1-0201-40 for the testphone (8861). A User will test it tommorow on site.

The missing > at featureLabel was not in the original xml used by the phone but happened when I stripped out the personal data by hand for posting on github.

Thanks again for your help Mathias