cisco xml files for cisco 7941 & 7911

We have successfully flash the Cisco 7941 to SIP. Now we need to create an XML files to work with Cisco 7941 SIP phones. First of all, we need to create SEP<MACADDRESS>.cnf.xml file. In our environment, we successfully connected the Cisco 7941 to Asterisk on Debian and FreePBX.

Below is a working sample of SEP<MACADDRESS>.cnf.xml file. You have to modify few parameters to reflect your environment.

<device>
  <deviceProtocol>SIP</deviceProtocol>
  <sshUserId>admin</sshUserId>
  <sshPassword>123</sshPassword>
  <devicePool>
        <dateTimeSetting>
            <dateTemplate>D/M/YA</dateTemplate>
            <timeZone>Taipei Standard Time</timeZone>
            <ntps>
                <ntp>
                    <name>your NTP server</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>your sip server name</processNodeName>
              </callManager>
           </member>
        </members>
     </callManagerGroup>
  </devicePool>

  <commonProfile>
     <phonePassword>123</phonePassword>
     <backgroundImageAccess>true</backgroundImageAccess>
     <callLogBlfEnabled>2</callLogBlfEnabled>
  </commonProfile>

  <loadInformation>SIP41.8-5-2SR1S</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>0</webAccess>
     <spanToPCPort>1</spanToPCPort>
     <loggingDisplay>1</loggingDisplay>
     <loadServer></loadServer>
  </vendorConfig>

  <networkLocale></networkLocale>

    <networkLocaleInfo>
        <name></name>
        <uid></uid>
        <version></version>
    </networkLocaleInfo>

  <deviceSecurityMode>1</deviceSecurityMode>

  <authenticationURL></authenticationURL>
  <directoryURL>http://yourwebserver/dir</directoryURL>
  <servicesURL></servicesURL>
  <idleURL></idleURL>
  <informationURL></informationURL>
  <messagesURL></messagesURL>
  <proxyServerURL></proxyServerURL>
  <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
  <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
  <dscpForCm2Dvce>96</dscpForCm2Dvce>

  <transportLayerProtocol>4</transportLayerProtocol>

  <capfAuthMode>0</capfAuthMode>
  <capfList>
     <capf>
        <phonePort>3804</phonePort>
     </capf>
  </capfList>

  <certHash></certHash>
  <encrConfig>false</encrConfig>
   <sipProfile>
     <sipProxies>
        <backupProxy></backupProxy>
        <backupProxyPort></backupProxyPort>
        <emergencyProxy></emergencyProxy>
        <emergencyProxyPort></emergencyProxyPort>
        <outboundProxy></outboundProxy>
        <outboundProxyPort></outboundProxyPort>
        <registerWithProxy>true</registerWithProxy>
     </sipProxies>
     <sipCallFeatures>
        <cnfJoinEnabled>true</cnfJoinEnabled>
        <callForwardURI>x–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>
     <preferredCodec>none</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>

     <phoneLabel>Display top right hand corner of the phone</phoneLabel>
     <sipLines>
        <line button="1">
           <featureID>9</featureID>
           <featureLabel>extension number</featureLabel>
           <name>extension number</name>
           <displayName>extension name</displayName>
           <contact>extension number</contact>
           <proxy>your sip server ip</proxy>
           <port>5060</port>
           <autoAnswer>
              <autoAnswerEnabled>2</autoAnswerEnabled>
           </autoAnswer>
           <callWaiting>3</callWaiting>

           <authName>extension username</authName>
           <authPassword>extension password</authPassword>

           <sharedLine>false</sharedLine>
           <messageWaitingLampPolicy>1</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>

Save the file as SEP<MACADDRESS>.cnf.xml. Note: You need to disable NAT on your phone extension. If not, your phone will not register.

Next up, we need to configure the dialplan. Below are the sample of a simple dialplan.xml that we used:

<DIALTEMPLATE>
    <TEMPLATE MATCH="*" Timeout="3"/> <!– Anything else –>
</DIALTEMPLATE>

Those are the basic xml files that you needed in order to make your phone to work. You need to save the files to the same folder in your TFTP server folder as the previous post.

Once all the files are inside the folder, you would need to reboot the phone by pressing the Settings button, then **#**. The phone will reboot and upload the new SEP<MACADDRESS>.cnf.xml and the dialplan.xml files.

After it has booted up, your phone should registered and you can hear a dialtone. You can test make/receive calls.

The following post is to show you how to make Cisco IP phones display its XML based directory through its mini browser on the phones. In order for this to work, you would need a webserver (we use Apache2) to serve the phone.

Ensure your webserver interprets .xml files as text by modifying the mime types. In apache, this is done by editing the /etc/mime.types file. Add an entry

text/xml                                   xml

In one of your apache’s web directories, say, www.yourwebserver.com/dir, create two files, menu.xml and list.xml

This below is what menu.xml should look like (modify where’s relevant)

<CiscoIPPhoneMenu>
  <Title>Corporate Directory</Title>
  <Prompt>Select to go get Corp Dir</Prompt>
  <MenuItem>
   <Name>Intuits Directory</Name>
   <URL>
http://yourwebserver/dir/list.xml</URL>
  </MenuItem>
</CiscoIPPhoneMenu>

This below is what list.xml should look like (modify where’s relevant)

<CiscoIPPhoneDirectory>
    <Title>Intuit Directory</Title>
     <Prompt>Select To Call</Prompt>
     <DirectoryEntry>
          <Name>Feroz</Name>
          <Telephone>1006</Telephone>
     </DirectoryEntry>
     <DirectoryEntry>
          <Name>Sanjay</Name>
          <Telephone>1003</Telephone>
     </DirectoryEntry>
</CiscoIPPhoneDirectory>

Modify the <DirectoryURL> directive inside SEP<MACADDRESS>.cnf.xml (this is the phone’s configuration file) to point to http://yourwebserver/menu.xml … (example below)

<directoryURL>http://yourwebserver/dir/menu.xml</directoryURL>

Restart your phone with your TFTP server ready to serve the SEP file to your Cisco Phone.

Technorati Tags: ,,,

Leave a Reply