PBX Admin Tool
Managing PBX Administrators and Global Settings across a Vodia cluster
This utility enables centralized management of multiple Vodia PBXs or clusters, allowing administrators to add, delete and modify individual admin accounts, configure settings, and monitor version and system usage.
You will need to install Node.js and npm
Install the Vodia PBX Admin Tool via NPM.
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g pbx-admin
Verify the instalation
pbx-admin --version
1.0
Configuration
This tool requires a configuration file located at ~/.pbx-admin.conf
This file must include the following settings:
-
username
The administrator username. -
password
The administrator password. -
server
The server address.
Ensure that this file is properly configured before using the tool.
Example Configuration File:
Create the file - nano ~/.pbx-admin.conf
username:admin
password:securepassword123
server:https://pbx1.example.com https://pbx2.example.com https://pbx3.example.com
Options
pbx-admin add
Add a new PBX administrator. This option requires the following parameters:
Required:
-
--username <admin_username>
Specify the username of the new administrator. -
--password <admin_password>
Set the password for the new administrator.
Optional:
-
--display <admin_display_name>
Provide a display name for the administrator. Defaults to the username if not specified. -
--email <admin_email>
Provide an email address for the administrator. Defaults to none. -
--ip <ip_restrictions>
Define IP restrictions for the administrator. Accepts individual IP addresses or CIDR ranges. -
--api <true|false>
Enable or disable API access for the administrator. Defaults tofalse. -
--phone <admin_phone>
Provide a phone number for the administrator. Defaults to none.
Usage Examples:
pbx-admin add --username jerry --password "password!" --display "Jerry Thomas" --email jerry@vodia.com --phone 0433337285 --ip 1.1.1.1/32
pbx-admin delete
Delete an existing PBX administrator. Provide the username of the administrator to be removed.
Required:
<admin_username>
Specify the username of the administrator to delete.
Usage Example:
pbx-admin delete jerry
pbx-admin modify
Modify the details of an existing PBX administrator. This option requires the following parameters:
Required:
--username <admin_username>
Specify the username of the administrator to modify.
At Least One of:
-
--password <new_password>
Update the administrator's password. -
--display <new_display_name>
Update the administrator's display name. -
--email <new_email>
Update the administrator's email address. -
--ip <new_ip_restrictions>
Update IP restrictions for the administrator. -
--api <true|false>
Enable or disable API access for the administrator. -
--phone <new_phone>
Update the administrator's phone number.
Usage Examples:
pbx-admin modify --username "jerry" --password "password2!" --display "Jerry2 Thomas2" --email "jerry2@vodia.com" --phone 123456789
pbx-admin list_versions
System Information Retrieval: PBX Version, Build Date, and Uptime (Days) for Multiple PBXs
Usage Example:
pbx-admin list_versions
Example Output:
PBX https://ztfznb.vodia-pbx.com: Version 69.5.7.beta (Debian64), Build Mar 30 2025 10:32:40, Uptime 0.5 days
pbx-admin system_usage
System Information Retrieval: Tenant-Specific Counts: Extensions, Call Queues, Conferences (per PBX).
Usage Example:
pbx-admin system_usage
Example Output:
PBX,Tenant,Extensions,Call Queues,Conferences
"https://ztfznb.vodia-pbx.com","lhgrxp.vodia-pbx.com",4,1,0
"https://ztfznb.vodia-pbx.com","jjmspy.vodia-pbx.com",6,0,0
pbx-admin config_global_setting
Configure a global PBX setting across multiple PBX instances. Retrieve the complete settings list using the provided curl command
curl --location -g -s -u 'admin:password' -k 'https://pbx.vodia-pbx.com/rest/system/config' | jq -r