Under my Window 7 it is located at c:\programdata\3CX\data\http\templates\phones
All the files end with the name *.ph.xml
The file names do not appear in the 3CX Template Name pull down list. It is the phone "model" that should appear in the list. It appears that 3CX parses all the *.ph.xml files for the "model" names.
I was afraid to corrupt the original aastra.ph.xml file. I just copied it and gave it a new name. At the beginning of the file I changed the both the name and model fields and made the custom changes I needed. I don't know if it was necessary to change the name field but I did just to make sure it was unique to the original file. "Aastra 6755i custom" is an example of what you can call the model if you haven't removed the original *.ph.xml file. Now both the original file and the custom file exists under the template\phone directory. And "Aastra 6755i custom" now appears in the 3CX template provisioning drop down menu.
<name>Aastra SIP Phone Custom</name>
<models>
<model>Aastra 6755i custom</model>
</models>
Hope this helps. Goodluck. Oh yeah I forgot. You can change the provisioning templates until the cows come home and 3CX won't use them until you overtly reprovision the phones.