It could be good if you capture an Sniffer trace
when the IP Phone is booting to verify which files is requesting...
Since you are using Asterisk I will assume you are using SIP ( not the chan_sccp module)
As far as I remember it will request a
CTLSEP000BBED806CD.tlv
then a:
SEP000BBED806CD.cnf.xml
(where 000BBED806CD is the MAC of your IP Phone).
You can try hardcoding last file as follows...
+++++++++++++++++++++++++++++++++++++++++++++++++++++
Im using P0S3-07-3-00 load
110.10.200.2
110.10.200.2 is the IP for *
+++++++++++++++++++++++++++++++++++++++++++++++++++++
[root@server tftpboot]# cat SEP000BBED806CD.cnf.xml
2000
110.10.200.2
P0S3-07-3-00
(where 000BBED806CD is the MAC of your IP Phone).
Then follow the procedure from our page:
http://cisco.com/en/US/tech/tk652/tk701/technologies_tech_note09186a0080094584.shtml
I widely recommend you use an sniffer trace or a TFTP debug so you will see which files the IP Phone is requesting.
http://www.voip-info.org/wiki-Firmware+issues+on+7940+-+7960
Let us know.