From 42185e804f9360f48f1c3f53d476d8218b1329cf Mon Sep 17 00:00:00 2001 From: "Mr. Sims" <83308634+tjsims1@users.noreply.github.com> Date: Wed, 13 May 2026 07:23:05 -0700 Subject: [PATCH] Add Polycom CCX 500 provisioning template (#7963) * Add Polycom CCX 500 provisioning template Adds provisioning template for the Polycom (HP/Poly) CCX 500 desk phone running OpenSIP UC Software 9.x. Files: - resources/templates/provision/polycom/ccx500/{$mac}.cfg - resources/templates/provision/polycom/ccx500/{$mac}-directory.xml - app/provision/resources/sql/postgresql/polycom_ccx500_codec_defaults.sql Highlights: - Standard FusionPBX feature-code softkeys (VMTransfer *99, Intercom *8, Pickup **) consistent with sibling polycom/vvx* templates - Three Park softkeys (*5901-*5903) for one-touch blind transfer - Codec preference variables (polycom_codec_g711a, polycom_codec_opus, etc.) with idempotent v_default_settings INSERTs providing sensible defaults (G711_A > G711_Mu > G722 preferred, others disabled until enabled by admin) - feature.enhancedFeatureKeys.enabled=1, matching the rest of the polycom/* template family Tested on 11 production CCX 500 devices running firmware 9.4.1.0508. * Move CCX 500 codec defaults to polycom app_config.php Per @markjcrane review: defaults should be added via the app_config.php $apps[$x]['default_settings'] array pattern so they apply via Advanced > Upgrade > Application Defaults, not a one-off SQL migration. - Added 13 polycom_codec_* entries to app/polycom/app_config.php - Removed app/provision/resources/sql/postgresql/polycom_ccx500_codec_defaults.sql --- app/polycom/app_config.php | 104 +++++ .../polycom/ccx500/{$mac}-directory.xml | 28 ++ .../provision/polycom/ccx500/{$mac}.cfg | 430 ++++++++++++++++++ 3 files changed, 562 insertions(+) create mode 100644 resources/templates/provision/polycom/ccx500/{$mac}-directory.xml create mode 100644 resources/templates/provision/polycom/ccx500/{$mac}.cfg diff --git a/app/polycom/app_config.php b/app/polycom/app_config.php index ee56b4e02..3bcb8fb06 100644 --- a/app/polycom/app_config.php +++ b/app/polycom/app_config.php @@ -847,5 +847,109 @@ $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "0 (default) - The attendant can pick up calls to monitored users while they show as ringing. 1 - The attendant cannot pick up monitored calls."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "07e42c05-84b1-43fe-b905-2fcde45459b9"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_g711a"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "1"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "G.711 a-law codec priority order. 0 disables, 1+ sets preference order."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "9432aecc-e957-4a74-bbaf-b5b4fdc3b9d0"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_g711mu"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "2"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "G.711 mu-law codec priority order. 0 disables, 1+ sets preference order."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "e52abd34-d5d9-4240-8c36-d9a966020ce8"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_g722"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "3"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "G.722 wideband codec priority order. 0 disables, 1+ sets preference order."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "b02a5d65-c685-41a8-9f5d-f43ab4354173"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_g729ab"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "G.729AB codec priority order. 0 disables, 1+ sets preference order."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "46cb616b-ad0f-48c0-82c6-fb03de10306e"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_opus"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Opus codec priority order. 0 disables, 1+ sets preference order."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "949265f7-a7cd-4619-bc63-560c7b045fca"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_g7221_16kbps"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "G.722.1 at 16 kbps codec priority order. 0 disables, 1+ sets preference order."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "92246742-850b-47df-941a-b75eb9b59632"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_g7221_24kbps"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "G.722.1 at 24 kbps codec priority order. 0 disables, 1+ sets preference order."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "7a1efe05-9f23-4f4a-8e25-0bfd17c6192e"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_g7221_32kbps"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "G.722.1 at 32 kbps codec priority order. 0 disables, 1+ sets preference order."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "6c7aa578-0596-41e7-abca-208e8fdba315"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_g7221c_24kbps"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "G.722.1C at 24 kbps codec priority order. 0 disables, 1+ sets preference order."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "2fafa378-62e7-4d34-a3de-950adc12b397"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_g7221c_32kbps"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "G.722.1C at 32 kbps codec priority order. 0 disables, 1+ sets preference order."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "9bbbaa2f-59e2-4799-afbf-56b352faab9c"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_g7221c_48kbps"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "G.722.1C at 48 kbps codec priority order. 0 disables, 1+ sets preference order."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "00f98383-6cec-4ea5-ab6f-6e36c19333ee"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_siren14_48kbps"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Siren14 at 48 kbps codec priority order. 0 disables, 1+ sets preference order."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "be917ccb-b5ef-4dde-a349-40e72ad94d6c"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "polycom_codec_siren22_64kbps"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "0"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Siren22 at 64 kbps codec priority order. 0 disables, 1+ sets preference order."; ?> diff --git a/resources/templates/provision/polycom/ccx500/{$mac}-directory.xml b/resources/templates/provision/polycom/ccx500/{$mac}-directory.xml new file mode 100644 index 000000000..bbc5b1624 --- /dev/null +++ b/resources/templates/provision/polycom/ccx500/{$mac}-directory.xml @@ -0,0 +1,28 @@ + + + + {assign var=x value=1} + {foreach $contacts as $row} + + {if $row.contact_name_given != ""} + {$row.contact_name_family} + {$row.contact_name_given} + {else} + {$row.contact_organization} + {/if} + {if $row.phone_number != ""} + {$row.phone_number} + {else} + {$row.phone_extension} + {/if} + 7 + + 0 + 0 + 0 + 0 + + {assign var=x value=$x+1} + {/foreach} + + diff --git a/resources/templates/provision/polycom/ccx500/{$mac}.cfg b/resources/templates/provision/polycom/ccx500/{$mac}.cfg new file mode 100644 index 000000000..947a5ca56 --- /dev/null +++ b/resources/templates/provision/polycom/ccx500/{$mac}.cfg @@ -0,0 +1,430 @@ + + + + + + + + + + + + + + + + + + + + +