The template 3CX has out now is only for the 7960 and 7940 phones. Starting with the 7961 and 7941 Cisco moved away from the older .cnf files that 3CX has in there current template to an .xml based file. In these .xml config files the syntax is completely different. I have not worked with the 7945's so im not sure if my template will work for those but below is the template i came up with for the 7961 phones. You can give that a shot and see if it does anything for you.
<?xml version="1.0"?>
<doc xmlns:tcx="http://www.3cx.com">
<header>
<type>phone-template</type>
<version>24018</version>
<time>2012-01-12 15:00:00</time>
<name>Cisco 7961G</name>
<url>http://www.cisco.com</url>
<models>
<model>Cisco 7961G</model>
</models>
<description>Cisco SIP Phone</description>
<parsers>
<parser>BLF</parser>
</parsers>
<rebootParams>
<event-name>reboot</event-name>
</rebootParams>
<resyncParams>
<event-name>check-sync</event-name>
</resyncParams>
<firmwareParams>
<event-name>check-sync</event-name>
</firmwareParams>
<dst variableName ="dstEnableDisable" enable ="Yes" disable = "No">
</dst>
<languages>
<!--The first entry is the selected entry in management console-->
<option value="English-US">
<item name = "langwebUI">English-US</item>
</option>
<option value="Deutsch">
<item name = "langwebUI">Deutsch</item>
</option>
<option value="Espanol">
<item name = "langwebUI">Espanol</item>
</option>
<option value="Francais">
<item name = "langwebUI">Francais</item>
</option>
<option value="Italiano">
<item name = "langwebUI">Italiano</item>
</option>
<option value="Nederlands">
<item name = "langwebUI">Nederlands</item>
</option>
<option value="Danish">
<item name = "langwebUI">Danish</item>
</option>
<option value="Norwegian">
<item name = "langwebUI">Norwegian</item>
</option>
<option value="Portuguese">
<item name = "langwebUI">Portuguese</item>
</option>
<option value="Swedish">
<item name = "langwebUI">Swedish</item>
</option>
</languages>
<timezoneParams param="time_timezone_linksys">
<!--The first entry is the selected entry in management console-->
<option value="GMT-05:00">GMT-5:00 (US Eastern Time, New York)</option>
<option value="GMT-12:00">GMT-12:00 (International Date Line West)</option>
<option value="GMT-11:00">GMT-11:00 (Midway Island, Samoa)</option>
<option value="GMT-10:00">GMT-10:00 (US Hawaiian Time)</option>
<option value="GMT-09:00">GMT-9:00 (US Alaska Time)</option>
<option value="GMT-08:00">GMT-8:00 (US Pacific Time, Los Angeles)</option>
<option value="GMT-07:00">GMT-7:00 (US Mountain Time, Denver)</option>
<option value="GMT-06:00">GMT-6:00 (US Central Time, Chicago)</option>
<option value="GMT-04:30">GMT-4:30 (Venezuela)</option>
<option value="GMT-04:00">GMT-4:00 (Atlantic Time, Quebec)</option>
<option value="GMT-03:30">GMT-3:30 (Newfoundland)</option>
<option value="GMT-03:00">GMT-3:00 (Greenland)</option>
<option value="GMT-02:00">GMT-2:00 (Mid-Atlantic)</option>
<option value="GMT-01:00">GMT-1:00 (Azores, Cape Verdi Is.)</option>
<option value="GMT">GMT(London, Dublin, Edinburgh, Lisbon, Casablanca, Monrovia)</option>
<option value="GMT+01:00">GMT+1:00 (Paris,Amsterdam, Berlin, Rome, Vienna, Madrid, Warsaw, Brussels)</option>
<option value="GMT+02:00">GMT+2:00 (Israel, Cairo, Athens, Helsinki, Istanbul, Buchrest)</option>
<option value="GMT+03:00">GMT+3:00 (Moscow, Kuwait, Baghdad, Tehran, Nairobi)</option>
<option value="GMT+03:30">GMT+3:30 (Tehran)</option>
<option value="GMT+04:00">GMT+4:00 (Abu Dhabi, Baku)</option>
<option value="GMT+04:30">GMT+4:30 (Kabul)</option>
<option value="GMT+05:00">GMT+5:00 (Islamabad, Ekaterinburg, Karachi, Tashkent)</option>
<option value="GMT+05:30">GMT+5:30 (Chennai, New Delhi, Mumbai)</option>
<option value="GMT+05:45">GMT+5:45 (Kathmandu)</option>
<option value="GMT+06:00">GMT+6:00 (Almaty, Astana. Dhaka, Novosibirsk)</option>
<option value="GMT+06:30">GMT+6:30 (Rangoon)</option>
<option value="GMT+07:00">GMT+7:00 (Bankok, Jakarta, Hanoi, Krasnoyarsk)</option>
<option value="GMT+08:00">GMT+8:00 (Beijing, Singapore, Taipei, Kuala Lumpur, Irkutsk, Perth)</option>
<option value="GMT+09:00">GMT+9:00 (Japan, Korea, Yakutsk)</option>
<option value="GMT+09:30">GMT+9:30 (Adelaide, Darwin)</option>
<option value="GMT+10:00">GMT+10:00 (Brisbane, Sydney, Melbourne, Canberra, Guam, Hobart)</option>
<option value="GMT+11:00">GMT+11:00 (Magadan, Solomon Is., New Caledonia)</option>
<option value="GMT+12:00">GMT+12:00 (Auckland, Wellington, Fiji)</option>
<option value="GMT+13:00">GMT+13:00 (Nuku'alofa)</option>
</timezoneParams>
<Codecspriorities>
<Codecspriority variableName="codec1" priority="1">
<!--The first entry is the selected entry in management console-->
<option value="g711ulaw">g711u</option>
<option value="G711a">G711a</option>
<option value="G729a">G729a</option>
<option value="G722">G722</option>
</Codecspriority>
<Codecspriority variableName="codec2" priority="2">
<!--The first entry is the selected entry in management console-->
<option value="G711a">G711a</option>
<option value="G711u">G711u</option>
<option value="G729a">G729a</option>
<option value="G722">G722</option>
</Codecspriority>
<Codecspriority variableName="codec3" priority="3">
<!--The first entry is the selected entry in management console-->
<option value="G722">G722</option>
<option value="G711u">G711u</option>
<option value="G711a">G711a</option>
<option value="G729a">G729a</option>
</Codecspriority>
</Codecspriorities>
</header>
<blftype>
<extension>
<featureID>21</featureID>
</extension>
<speeddial>
<featureID>21</featureID>
</speeddial>
<customspeeddial>
<featureID>21</featureID>
</customspeeddial>
<queuelogin>
<featureID>21</featureID>
</queuelogin>
<profilestatus>
<featureID>21</featureID>
</profilestatus>
<parkextension>
<featureID>4</featureID>
</parkextension>
</blftype>
<data>
<device>
<type>phone</type>
<field name="Name">Cisco SIP Phone</field>
<deviceconfig filename="SEP%%mac_address%%.cnf.xml">
<![CDATA[
<device>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>admin</sshUserId>
<sshPassword>266737</sshPassword>
<devicePool>
<dateTimeSetting>
<dateTemplate>M/D/Ya</dateTemplate>
<timeZone>Eastern Standard/Daylight Time</timeZone>
<ntps>
<ntp>
<name>%%param::time_ntp_server%%</name>
<ntpMode>Unicast</ntpMode>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>%%param::sipport%%</sipPort>
<securedSipPort>5061</securedSipPort>
</ports>
<processNodeName>%%pbx_ip%%</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<sipProfile>
<sipProxies>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<callHoldRingback>2</callHoldRingback>
<localCfwdEnable>true</localCfwdEnable>
<semiAttendedTransfer>true</semiAttendedTransfer>
<dndControl>1</dndControl>
<remoteCcEnable>true</remoteCcEnable>
</sipCallFeatures>
<enableVad>false</enableVad>
<preferredCodec>%%codec1%%</preferredCodec>
<natEnabled></natEnabled>
<phoneLabel>%%extension_number%%</phoneLabel>
<sipLines>
<line button="1">
<featureID>9</featureID>
<featureLabel>%%extension_number%%-%%extension_first_name%% %%extension_last_name%%</featureLabel>
<proxy>%%pbx_ip%%</proxy>
<name>%%extension_number%%</name>
<displayName>%%extension_first_name%% %%extension_last_name%%</displayName>
<callWaiting>3</callWaiting>
<authName>%%extension_auth_id%%</authName>
<authPassword>%%extension_auth_pw%%</authPassword>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>%%vm_number%%</messagesNumber>
</line>
{IF blf1}
<line button="2">
<featureID>%%featureID%%</featureID>
<featureLabel>%%blffirstname1%% %%blflastname1%%</featureLabel>
<speedDialNumber>%%blf1%%</speedDialNumber>
<featureOptionMask>1</featureOptionMask>
</line>
{ELSE}
{ENDIF}
{IF blf2}
<line button="3">
<featureID>%%featureID%%</featureID>
<featureLabel>%%blffirstname2%% %%blflastname2%%</featureLabel>
<speedDialNumber>%%blf2%%</speedDialNumber>
<featureOptionMask>1</featureOptionMask>
</line>
{ELSE}
{ENDIF}
{IF blf3}
<line button="4">
<featureID>%%featureID%%</featureID>
<featureLabel>%%blffirstname3%% %%blflastname3%%</featureLabel>
<speedDialNumber>%%blf3%%</speedDialNumber>
<featureOptionMask>1</featureOptionMask>
</line>
{ELSE}
{ENDIF}
{IF blf4}
<line button="5">
<featureID>%%featureID%%</featureID>
<featureLabel>%%blffirstname4%% %%blflastname4%%</featureLabel>
<speedDialNumber>%%blf4%%</speedDialNumber>
<featureOptionMask>1</featureOptionMask>
</line>
{ELSE}
{ENDIF}
{IF blf5}
<line button="6">
<featureID>%%featureID%%</featureID>
<featureLabel>%%blffirstname5%% %%blflastname5%%</featureLabel>
<speedDialNumber>%%blf5%%</speedDialNumber>
<featureOptionMask>1</featureOptionMask>
</line>
{ELSE}
{ENDIF}
</sipLines>
<dialTemplate>dialplan.xml</dialTemplate>
<voipControlPort>5060</voipControlPort>
</sipProfile>
<commonProfile>
<phonePassword>266737</phonePassword>
</commonProfile>
<vendorConfig>
<pcPort>0</pcPort>
<voiceVlanAccess>0</voiceVlanAccess>
<videoCapability>0</videoCapability>
<autoSelectLineEnable>0</autoSelectLineEnable>
<spanToPCPort>1</spanToPCPort>
<sshAccess>0</sshAccess>
<sshPort>22</sshPort>
</vendorConfig>
<loadInformation>SIP41.8-5-4S</loadInformation>
<versionStamp>1143565489-a3cbf294-7526-4c29-8791-c4fce4ce4c37</versionStamp>
<directoryURL></directoryURL>
<servicesURL></servicesURL>
<transportLayerProtocol>4</transportLayerProtocol>
</device>
]]>
</deviceconfig>
</device>
</data>
</doc>