Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By sieteunoseis
Provision and manage Cisco CUCM environments from the command line — create, update, delete phones, lines, route patterns, partitions, CSS, and SIP profiles, run SQL queries, and perform bulk provisioning from CSV files via the AXL API.
npx claudepluginhub sieteunoseis/cisco-axlA JavaScript library and CLI to interact with Cisco CUCM via AXL SOAP API. Dynamically discovers all AXL operations from the WSDL schema — any operation for your specified version is available without static definitions.
Administrative XML (AXL) information can be found at: Administrative XML (AXL) Reference.
npm install cisco-axl
npm install -g cisco-axl
Or run without installing:
npx cisco-axl --help
npx skills add sieteunoseis/cisco-axl
If you are using self-signed certificates on Cisco VOS products you may need to disable TLS verification, or use the --insecure CLI flag.
Supported CUCM versions: 11.0, 11.5, 12.0, 12.5, 14.0, 15.0
# Configure a cluster
cisco-axl config add lab --host 10.0.0.1 --username admin --password secret --cucm-version 14.0 --insecure
# Test the connection
cisco-axl config test
# List phones
cisco-axl list Phone --search "name=SEP%"
# Get a specific phone
cisco-axl get Phone SEP001122334455
# SQL query
cisco-axl sql query "SELECT name, description FROM device WHERE name LIKE 'SEP%'"
cisco-axl config add <name> --host <host> --username <user> --password <pass> --cucm-version <ver> --insecure
cisco-axl config use <name> # switch active cluster
cisco-axl config list # list all clusters
cisco-axl config show # show active cluster (masks passwords)
cisco-axl config remove <name> # remove a cluster
cisco-axl config test # test connectivity
Auth precedence: CLI flags > env vars (CUCM_HOST, CUCM_USERNAME, CUCM_PASSWORD, CUCM_VERSION) > config file.
Config stored at ~/.cisco-axl/config.json. Supports ss-cli <ss:ID:field> placeholders.
| Command | Description |
|---|---|
get <type> <identifier> | Get a single item |
list <type> | List items with search, pagination, returned tags |
add <type> | Add an item (inline JSON, template, or bulk CSV) |
update <type> <identifier> | Update an item |
remove <type> <identifier> | Remove an item |
sql query/update | Execute SQL against CUCM |
execute <operation> | Run any raw AXL operation |
operations | List available operations |
describe <operation> | Show tag schema for an operation |
doctor | Check AXL connectivity and health |
See full CLI reference for bulk CSV, command chaining, piping with --stdin, and operation discovery.
| Flag | Description |
|---|---|
--format table|json|toon|csv | Output format (default: table) |
--insecure | Skip TLS certificate verification |
--clean | Remove empty/null values from results |
--no-attributes | Remove XML attributes from results |
--read-only | Restrict to read-only operations |
--no-audit | Disable audit logging for this command |
--debug | Enable debug logging |
const axlService = require("cisco-axl");
const service = new axlService("10.10.20.1", "administrator", "ciscopsdt", "14.0");
// Get, list, add, update, remove
await service.getItem("Phone", "SEP001122334455");
await service.listItems("Phone", { name: "SEP%" });
await service.addItem("RoutePartition", { name: "NEW-PT", description: "New" });
// SQL
await service.executeSqlQuery("SELECT name FROM routepartition");
// Any AXL operation
const tags = await service.getOperationTags("addRoutePartition");
tags.routePartition.name = "INTERNAL-PT";
await service.executeOperation("addRoutePartition", tags);
See full API documentation for all methods, error handling, batch operations, TypeScript, retry config, and logging.
If you found this helpful, consider:
MIT
Share bugs, ideas, or general feedback.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Telnyx development plugin for Claude
Claude calls you on the phone when it needs your input or wants to report progress
Claude Code skill pack for Retell AI (30 skills)
iMessage messaging bridge powered by Linq with built-in access control. Manage pairing, allowlists, and policy via /imessage:access.
Session Initiation Protocol (SIP) skills for VoIP and real-time communications.
Inkbox email and phone SDK skills for Claude Code.
AudioCodes Mediant VE SBC CLI skills for troubleshooting VoIP — call statistics, alarms, device health, and SIP trace via the REST API
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claim