I don't use / setup cisco phones so I can't say for sure. I do see they only list the 6921 in the supported phones.
But I'm wondering if you can setup a new Base Edit config file for the 6945 phones. Then go into the 6921 settings and add in any custom parameters for this missing keys.
With the commercially-supported Sangoma EndPoint Manager, you can use the GUI interface to directly auto-provision and configure over 300 popular endpoints, including desk phones, wireless phones, door phones, overhead paging devices, gateways, specialty devices, and more, from leading manufacturers. Includes the UCP for EPM module that allows end users to change any buttons that were set up. Yes, it was an upgrade from FreePbx 12 and all extensions were CHANSIP. I enabled PJSIP and it states that it is indeed on port 5061. Like I mentioned, when manually entering info into phone it registers, but when trying to provision from endpoint manager it just sates it’s status as registering, so EPM must be doing something wrong, even though the info looks correct in the phone.
Freepbx Endpoint Manager Yealink App
For example in one of my configs for the yealink T42G phones we set the phone configuration parameter 'phone_setting.backlight_time = 15' When the phones associated with that baseline configuration are built, that parameter is injected into the config file for the phone. We also override the display name with the primary account name using this parameter ' account.1.display_name = __PriAcctName__ ' (the point of that is to show you can insert compile time variables that over write the default values too).
Freepbx Install Oss Endpoint Manager
Back on point, when you provision the phone you just would use the 6945 template model you created for the customized key functions.