Provisioning of CISCO 79XX with S-Series PBX

Introduction

Currently only Cisco SPA series of Phones are supported in the Auto provisioning device list. For those phones not in the list but support SIP protocol, we can use PBX as DHCP Server and TFTP Server to provision them. Like Cisco 6,7,8 series as well as CP series.

The basic idea is S-Series PBX works as a TFTP and Registration Server in the provisioning process.

1.png

Configuration

You can follow with the steps below:

* Disclaimer: we don't offer the service to help convert the SIP firmware and build the configuration file.

1. Convert your Cisco phone into SIP firmware

You would need to finish this part for your own. Here is an reference from the 3rd party: 

Reference 1

Reference 2

2. Download the file and set user configurations.
1) As we don't offer the configuration, we suggest you might get configuration file from the 3rd party: http://usecallmanager.nz/tftpd-conf.html
2) Rename the file sepmac.cnf.xml based on the MAC address of the phone, e.g. SEP58971ECC97C1.cnf.xml
more details in: 
http://usecallmanager.nz/sepmac-cnf-xml.html 
http://usecallmanager.nz/line-keys-xml.html

Note that we don't offer configuration file for customers. This part is rather technical. So it's recommended to have technical guys to help.

3. Enable DHCP Server & TFTP Server
If you use your own Server, refer to this article :http://usecallmanager.nz/dhcpd-conf.html
If you use DHCP Server on PBX:
1) Connect the phone to the same network with Yeastar S-Series PBX.
2) Disable local DHCP server in your local network, e.g. disable DHCP server on Linksys router.
3) Enable DHCP server on Yeastar S-Series and configure the DHCP server settings according to your local network. (Settings > System > Security > Service)

4) TFTP Server address is the IP address of your PBX.

 2.png

4. Upload configuration file to S-Series PBX and reboot phone.
Upload file from Auto Provisioning app, Cisco phone will get TFTP Server address from DHCP Option66 and to download xml file from that TFTP Server (S-Series PBX).

3.png

4.png

5. Troubleshooting

If not provision Cisco 79xx Phone successfully you can capture .pcap file and check with the signal flow.

5.png

Follow the steps:

1) Click start before reboot Cisco Phone

2) Reboot the Phone

3) Click stop after the Phone boot up

6.png

4) Open the .pcap dump file with Wireshark

5) Filter with string ’bootp’ to check

  • DHCP request receive from Cisco Phone
  • DHCP ACK with OPTION 66 send to Cisco Phone
  • Option 66 contain TFTP server address

7.png6) Filter with string ’tftp’ to check

  • TFTP request send from Cisco Phone
  • Data packet block send from PBX to Cisco Phone

8.png

 

 

Have more questions? Submit a request

1 Comments

  • 0
    Avatar

    Hi Eric:

    Your procedure is spotless. Great job!.

    I am facing a similar scenario with MyPBX U100 and Cisco 7965G phone model.

    What I achieved so far:

    1) Upgrade the firmware and upload files to the PBX.

    2) I have tested the connection between the Phone and the PBX, getting the firmware (9.3.1 SP4) and SEPxxxxxxxxxxxx.cnf.xml file. The phone is getting the configuration set by xml file

    The only thing that is not happening is the provisioning by the PBX.

    This my SEPxxxxxxxxxxxx.cnf.xml file:

    <device>
    <fullConfig>true</fullConfig>
    <deviceProtocol>SIP</deviceProtocol>
    <devicePool>
    <dateTimeSetting>
    <dateTemplate>D/M/Y</dateTemplate>
    <timeZone>+240</timeZone>
    <ntps>
    <ntp>
    <name></name>
    <ntpMode>unicast</ntpMode>
    </ntp>
    </ntps>
    </dateTimeSetting>
    <callManagerGroup>
    <members>
    <member priority="0">
    <callManager>
    <ports>
    <sipPort>5060</sipPort>
    <securedSipPort>5061</securedSipPort>
    </ports>
    <processNodeName>10.0.0.22</processNodeName>
    </callManager>
    </member>
    </members>
    </callManagerGroup>
    </devicePool>
    <!-- <vpnGroup>
    <mtu>1290</mtu>
    <failConnectTime>30</failConnectTime>
    <authMethod>0</authMethod>
    <pswdPersistent>1</pswdPersistent>
    <autoNetDetect>1</autoNetDetect>
    <enableHostIDCheck>0</enableHostIDCheck>
    <addresses>
    <url1></url1>
    </addresses>
    <credentials>
    <hashAlg>0</hashAlg>
    <certHash1></certHash1>
    </credentials>
    </vpnGroup> -->
    <sipProfile>
    <sipProxies>
    <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>1</callHoldRingback>
    <localCfwdEnable>true</localCfwdEnable>
    <semiAttendedTransfer>true</semiAttendedTransfer>
    <anonymousCallBlock>3</anonymousCallBlock>
    <callerIdBlocking>3</callerIdBlocking>
    <dndControl>0</dndControl>
    <remoteCcEnable>true</remoteCcEnable>
    <retainForwardInformation>false</retainForwardInformation>
    <uriDialingDisplayPreference>1</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>true</remotePartyID>
    <userInfo>Phone</userInfo>
    </sipStack>
    <autoAnswerTimer>1</autoAnswerTimer>
    <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
    <autoAnswerOverride>true</autoAnswerOverride>
    <transferOnhookEnabled>true</transferOnhookEnabled>
    <enableVad>false</enableVad>
    <preferredCodec>none</preferredCodec>
    <dtmfAvtPayload>101</dtmfAvtPayload>
    <dtmfDbLevel>3</dtmfDbLevel>
    <dtmfOutofBand>avt</dtmfOutofBand>
    <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
    <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
    <kpml>0</kpml>
    <phoneLabel></phoneLabel>
    <stutterMsgWaiting>0</stutterMsgWaiting>
    <callStats>true</callStats>
    <offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer>
    <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
    <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
    <startMediaPort>16384</startMediaPort>
    <stopMediaPort>32766</stopMediaPort>
    <natEnabled>false</natEnabled>
    <natReceivedProcessing>false</natReceivedProcessing>
    <natAddress></natAddress>
    <sipLines>
    <line button="1" lineIndex="1">
    <featureID>9</featureID>
    <featureLabel>290</featureLabel>
    <proxy>10.0.0.22</proxy>
    <port>5060</port>
    <name>290</name>
    <displayName>290</displayName>
    <autoAnswer>
    <autoAnswerEnabled>0</autoAnswerEnabled>
    </autoAnswer>
    <callWaiting>3</callWaiting>
    <authName>290</authName>
    <authPassword>pincode290</authPassword>
    <contact>290</contact>
    <sharedLine>false</sharedLine>
    <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
    <messageWaitingAMWI>0</messageWaitingAMWI>
    <messagesNumber></messagesNumber>
    <ringSettingIdle>4</ringSettingIdle>
    <ringSettingActive>5</ringSettingActive>
    <forwardCallInfoDisplay>
    <callerName>true</callerName>
    <callerNumber>true</callerNumber>
    <redirectedNumber>false</redirectedNumber>
    <dialedNumber>true</dialedNumber>
    </forwardCallInfoDisplay>
    <maxNumCalls>5</maxNumCalls>
    <busyTrigger>4</busyTrigger>
    </line>
    </sipLines>
    <externalNumberMask></externalNumberMask>
    <voipControlPort>5060</voipControlPort>
    <dscpForAudio>184</dscpForAudio>
    <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
    <dialTemplate></dialTemplate>
    <softKeyFile></softKeyFile>
    </sipProfile>
    <MissedCallLoggingOption>1</MissedCallLoggingOption>
    <featurePolicyFile></featurePolicyFile>
    <commonProfile>
    <phonePassword></phonePassword>
    <backgroundImageAccess>true</backgroundImageAccess>
    <callLogBlfEnabled>2</callLogBlfEnabled>
    </commonProfile>
    <vendorConfig>
    <defaultWallpaperFile></defaultWallpaperFile>
    <disableSpeaker>false</disableSpeaker>
    <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
    <enableMuteFeature>false</enableMuteFeature>
    <enableGroupListen>true</enableGroupListen>
    <holdResumeKey>1</holdResumeKey>
    <recentsSoftKey>1</recentsSoftKey>
    <dfBit>1</dfBit>
    <pcPort>0</pcPort>
    <spanToPCPort>1</spanToPCPort>
    <garp>0</garp>
    <rtcp>1</rtcp>
    <videoRtcp>1</videoRtcp>
    <voiceVlanAccess>0</voiceVlanAccess>
    <videoCapability>1</videoCapability>
    <hideVideoByDefault>0</hideVideoByDefault>
    <separateMute>0</separateMute>
    <ciscoCamera>1</ciscoCamera>
    <usb1>1</usb1>
    <usb2>1</usb2>
    <usbClasses>0,1,2</usbClasses>
    <sdio>1</sdio>
    <wifi>1</wifi>
    <bluetooth>1</bluetooth>
    <bluetoothProfile>0,1</bluetoothProfile>
    <btpbap>0</btpbap>
    <bthfu>0</bthfu>
    <ehookEnable>0</ehookEnable>
    <autoSelectLineEnable>1</autoSelectLineEnable>
    <autoCallSelect>1</autoCallSelect>
    <incomingCallToastTimer>10</incomingCallToastTimer>
    <dialToneFromReleaseKey>0</dialToneFromReleaseKey>
    <joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
    <minimumRingVolume></minimumRingVolume>
    <simplifiedNewCall>0</simplifiedNewCall>
    <actionableAlert>0</actionableAlert>
    <showCallHistoryForSelectedLine>0</showCallHistoryForSelectedLine>
    <kemOneColumn>0</kemOneColumn>
    <lineMode>0</lineMode>
    <allCallsOnPrimary>0</allCallsOnPrimary>
    <softKeyControl>0</softKeyControl>
    <settingsAccess>1</settingsAccess>
    <webProtocol>0</webProtocol>
    <webAccess>0</webAccess>
    <webAdmin>1</webAdmin>
    <adminPassword></adminPassword>
    <sshAccess>0</sshAccess>
    <detectCMConnectionFailure>0</detectCMConnectionFailure>
    <g722CodecSupport>1</g722CodecSupport>
    <handsetWidebandEnable>2</handsetWidebandEnable>
    <headsetWidebandEnable>2</headsetWidebandEnable>
    <headsetWidebandUIControl>1</headsetWidebandUIControl>
    <handsetWidebandUIControl>1</handsetWidebandUIControl>
    <daysDisplayNotActive>1,7</daysDisplayNotActive>
    <displayOnTime>08:00</displayOnTime>
    <displayOnDuration>10:00</displayOnDuration>
    <displayIdleTimeout>00:10</displayIdleTimeout>
    <displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
    <displayRefreshRate>0</displayRefreshRate>
    <daysBacklightNotActive>1,7</daysBacklightNotActive>
    <backlightOnTime>08:00</backlightOnTime>
    <backlightOnDuration>10:00</backlightOnDuration>
    <backlightIdleTimeout>00:10</backlightIdleTimeout>
    <backlightOnWhenIncomingCall>1</backlightOnWhenIncomingCall>
    <recordingTone>0</recordingTone>
    <recordingToneLocalVolume>100</recordingToneLocalVolume>
    <recordingToneRemoteVolume>50</recordingToneRemoteVolume>
    <recordingToneDuration></recordingToneDuration>
    <moreKeyReversionTimer>5</moreKeyReversionTimer>
    <peerFirmwareSharing>0</peerFirmwareSharing>
    <loadServer></loadServer>
    <problemReportUploadURL></problemReportUploadURL>
    <enableCdpSwPort>1</enableCdpSwPort>
    <enableCdpPcPort>0</enableCdpPcPort>
    <enableLldpSwPort>1</enableLldpSwPort>
    <enableLldpPcPort>0</enableLldpPcPort>
    <cdpEnable>true</cdpEnable>
    <outOfRangeAlert>0</outOfRangeAlert>
    <scanningMode>2</scanningMode>
    <applicationURL></applicationURL>
    <appButtonTimer>0</appButtonTimer>
    <appButtonPriority>0</appButtonPriority>
    <specialNumbers></specialNumbers>
    <sendKeyAction>0</sendKeyAction>
    <powerOffWhenCharging>0</powerOffWhenCharging>
    <homeScreen>0</homeScreen>
    <accessContacts>1</accessContacts>
    <accessFavorites>1</accessFavorites>
    <accessVoicemail>1</accessVoicemail>
    <accessApps>1</accessApps>
    </vendorConfig>
    <versionStamp>d902ed5a-c1e5-4233-b1d6-a960d53d1c3a</versionStamp>
    <loadInformation>SIP45.9-3-1SR4-1S</loadInformation>
    <!-- <addOnModules>
    <addOnModule idx="1">
    <deviceType></deviceType>
    <deviceLine></deviceLine>
    <loadInformation></loadInformation>
    </addOnModule>
    </addOnModules> -->
    <phoneServices useHTTPS="false">
    <provisioning>2</provisioning>
    <phoneService type="1" category="0">
    <name>Missed Calls</name>
    <url>Application:Cisco/MissedCalls</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="2" category="0">
    <name>Voicemail</name>
    <url>Application:Cisco/Voicemail</url>
    <vendor></vendor>
    <version></version>
    </phoneService>
    </phoneServices>
    <userLocale>
    <name></name>
    <uid>1</uid>
    <langCode></langCode>
    <version></version>
    <winCharSet>utf-8</winCharSet>
    </userLocale>
    <networkLocale></networkLocale>
    <networkLocaleInfo>
    <name></name>
    <version></version>
    </networkLocaleInfo>
    <deviceSecurityMode>1</deviceSecurityMode>
    <idleTimeout>0</idleTimeout>
    <authenticationURL></authenticationURL>
    <messagesURL></messagesURL>
    <servicesURL></servicesURL>
    <directoryURL></directoryURL>
    <idleURL></idleURL>
    <informationURL></informationURL>
    <proxyServerURL></proxyServerURL>
    <secureAuthenticationURL></secureAuthenticationURL>
    <secureMessagesURL></secureMessagesURL>
    <secureServicesURL></secureServicesURL>
    <secureDirectoryURL></secureDirectoryURL>
    <secureInformationURL></secureInformationURL>
    <secureIdleURL></secureIdleURL>
    <transportLayerProtocol>1</transportLayerProtocol>
    <TLSResumptionTimer>3600</TLSResumptionTimer>
    <phonePersonalization>1</phonePersonalization>
    <autoCallPickupEnable>true</autoCallPickupEnable>
    <blfAudibleAlertSettingOfIdleStation>0</blfAudibleAlertSettingOfIdleStation>
    <blfAudibleAlertSettingOfBusyStation>0</blfAudibleAlertSettingOfBusyStation>
    <dndCallAlert>1</dndCallAlert>
    <dndReminderTimer>5</dndReminderTimer>
    <advertiseG722Codec>1</advertiseG722Codec>
    <rollover>0</rollover>
    <joinAcrossLines>0</joinAcrossLines>
    <capfAuthMode>0</capfAuthMode>
    <capfList></capfList>
    <certHash></certHash>
    <encrConfig>false</encrConfig>
    <sshUserId>290</sshUserId>
    <sshPassword>pincode290</sshPassword>
    </device>

    Please any help with this.

    Best Regards

Please sign in to leave a comment.