| name | cisco-risport-cli |
| description | Use when querying Cisco CUCM real-time device registration status via the cisco-risport CLI — phone registration, CTI status, SIP trunk health, and cluster summary dashboards. |
| license | MIT |
| metadata | {"author":"sieteunoseis","version":"1.0.0"} |
cisco-risport CLI
CLI for querying Cisco CUCM real-time device registration status via RisPort70 SOAP API.
Setup
Configure a cluster (one-time, interactive prompt for password — never pass credentials on the command line):
cisco-risport config add <name> --host <host> --username <user> --insecure
cisco-risport config test
For Secret Server integration:
cisco-risport config add <name> --host '<ss:ID:host>' --username '<ss:ID:username>' --password '<ss:ID:password>' --insecure
Or use environment variables (set via your shell profile, a .env file, or a secrets manager — never hardcode credentials):
export CUCM_HOST=<host>
export CUCM_USERNAME=<user>
export CUCM_PASSWORD=<pass>
Commands
config — Manage cluster configurations
cisco-risport config add <name> --host <host> --username <user>
cisco-risport config use <name>
cisco-risport config list
cisco-risport config show
cisco-risport config remove <name>
cisco-risport config test
query — Query CM device registration status
cisco-risport query
cisco-risport query --class Phone --status Registered
cisco-risport query --class SIPTrunk
cisco-risport query --select-by Name --item SEP001122334455
cisco-risport query --select-by DirNumber --item 1001
cisco-risport query --class Phone --model "Cisco 8845"
cisco-risport query --node cucm-pub --status UnRegistered
cisco-risport query --paginate
cisco-risport query --no-ext
Options: --class, --status, --model, --select-by, --item, --protocol, --download-status, --node, --max, --paginate, --no-ext
cti — Query CTI device/line/provider status
cisco-risport cti
cisco-risport cti --class Device --status Open
cisco-risport cti --class Line
cisco-risport cti --select-by AppID --item "Cisco CTIManager"
cisco-risport cti --device-name SEP001122334455
cisco-risport cti --dir-number 1001
Options: --class, --status, --node, --select-by, --item, --device-name, --dir-number, --max
models — List device model ID-to-name mappings
cisco-risport models
cisco-risport models --search 8845
cisco-risport models --format json
status-reasons — List status reason codes
cisco-risport status-reasons
cisco-risport status-reasons --format json
summary — Cluster health dashboard
cisco-risport summary
cisco-risport summary --all-classes
cisco-risport summary --node cucm-pub
cisco-risport summary --no-ext
cisco-risport summary --format json
doctor — Configuration and connectivity health check
cisco-risport doctor
cisco-risport doctor --insecure
Checks: active cluster config, RisPort API connectivity, node discovery, config file permissions, audit trail size.
Common Workflows
Check if a phone is registered
cisco-risport query --select-by Name --item SEP001122334455 --format json
Check if a DN is active
cisco-risport query --select-by DirNumber --item 1001
SIP trunk health
cisco-risport query --class SIPTrunk --format table
Cluster health dashboard
cisco-risport summary --all-classes
Find unregistered phones
cisco-risport query --class Phone --status UnRegistered
Verify connectivity before scripting
cisco-risport doctor
Export all registered phones to CSV
cisco-risport query --class Phone --status Registered --paginate --format csv > phones.csv
Look up a status reason code
cisco-risport status-reasons --format json
Output Formats
--format table (default) — human-readable table
--format json — for scripting/parsing
--format toon — token-efficient for AI agents (recommended)
--format csv — for spreadsheets
Global Flags
--host <host> — override CUCM hostname
--username <user> — override CUCM username
--password <pass> — override CUCM password
--cluster <name> — use a specific named cluster
--insecure — skip TLS certificate verification (required for self-signed certs)
--no-audit — disable audit logging for this command
--debug — enable debug logging