2026-02-02 14:55:05 -06:00
2026-02-02 10:47:17 -06:00
2026-02-02 11:28:28 -06:00
2025-12-22 13:25:20 -06:00
2026-02-02 14:55:05 -06:00

Gen PC Sidecar Script

The files are stored typically inside of /var/lib/asterisk/PC-Contact-Sync and the scripts should be run every 6 hours by a cron job.


Quickstart

Config Fields

config.json has several fields. The config file needs to be next to the script in order to be read.

⚠️ Warning: Make sure the config follows proper json syntax.

target_extensions
list_filter_type
extension_filter_list
blacklisted_terms
prepend_extensions
  1. Add the phones that need a config pushed out for to the target_extensions list.
  2. Add the type of filter you want to use to filter out extensions from the contact list to list_filter_type.
  3. Add Extensions you want either black/white listed to the extension_filter_list.
  4. Add words that are in contacts you want removed to blacklisted_terms.
  5. Add extra contacts you want added to the phones in prepend_extensions.

Process Walkthrough

1. Pull Contact List

Initially the script formats together a contact list to be pushed to the phones. This php script will pull every contact from asterisk database which contains a name and extension.

2. Contact List Formatting

The script will now filter the contact list before writing to the phones. It has 3 processes to format it:

  1. Filter extensions by black/white list
  2. Remove blacklisted terms
  3. Prepend a set of configured contacts listed

The filter list will apply either a black/white list to the extension_filter_list. If it is a white list extension_filter_list is kept and anything not in it is removed. If it is a blacklist anything inside of extension_filter_list is removed.

The script will remove any contact name that has words contained inside of blacklisted_terms.

Finally contacts specified in prepend_extensions are added to the beginning of the contact list.

3. Write to phones

Polycom phones read their extension list to display on the phone from a file in /tftboot that is served by PBXact. The phone looks for settings including its contact list in /tftboot/phone_mac_address-features.cfg replacing mac_address with the actual mac of the phone without any : in the number. The default if it cant find its mac is to use the file with 0s.

Example:
/tftboot/000000000-features.cfg

The script will go down the list and read the .cfg for each phone in target_extensions and write in the contact list that was created earlier. It wites to a config file that matches the extensions mac address.

Phones might need to be told to reconfigure to pull the updated cfg.

Description
No description provided
Readme 145 KiB
Languages
PHP 100%