Skip to content

feat(cucm-dialplan-migration): CUCM to Webex Calling Dial Plan Migration playbook#47

Merged
fortunesmith merged 2 commits intomainfrom
playbook/dialplan
Mar 31, 2026
Merged

feat(cucm-dialplan-migration): CUCM to Webex Calling Dial Plan Migration playbook#47
fortunesmith merged 2 commits intomainfrom
playbook/dialplan

Conversation

@fortunesmith
Copy link
Copy Markdown
Collaborator

Summary

  • Adds a three-step Python CLI pipeline that automates migration of ILS-learned dial patterns from Cisco UCM to Webex Calling Premises PSTN dial plans
  • Stage 1 (read_ucm.py) queries UCM via the Thin AXL SOAP API and exports patterns to CSV; Stage 2 (normalize.py) expands bracket notation and resolves cross-catalog conflicts; Stage 3 (configure_wxc.py) idempotently creates/updates Webex Calling dial plans via wxc-sdk with OAuth 2.0 token caching
  • Bundled WSDL files cover UCM versions 9.0–14.0; smoketest verified on Python 3.10–3.13

Test plan

  • Run bash script/smoketest from playbooks/dialplan/src/ — all 5 checks should print OK (no credentials required)
  • Verify CI validation passes (README sections, APPHUB.yaml fields, folder structure)
  • Review env.template and config.yml.example for completeness before end-to-end test with real UCM and Webex Calling credentials

Made with Cursor

…laybook

Three-step Python CLI pipeline that migrates ILS-learned dial patterns
from Cisco UCM to Webex Calling:
  1. read_ucm.py  — queries UCM via Thin AXL SOAP API, exports to CSV
  2. normalize.py — expands bracket notation, resolves cross-catalog conflicts
  3. configure_wxc.py — idempotently provisions Webex Calling dial plans via wxc-sdk

OAuth 2.0 Authorization Code flow with token caching and auto-refresh.
Bundled WSDL files for UCM versions 9.0–14.0.
Smoketest verified on Python 3.10–3.13.

Made-with: Cursor
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 31, 2026

Playbook Validation Results

Playbook: playbooks/cucm-dialplan-migration

  • README.md exists
  • README.md contains all 6 required section headers
  • APPHUB.yaml exists
  • No prohibited competitor as primary integration target (APPHUB metadata)
  • All required APPHUB.yaml fields present and non-empty
  • APPHUB.yaml categories has at least one value
  • APPHUB.yaml friendly_id ends with -playbook
  • APPHUB.yaml tag_line is valid (90/128 chars)
  • APPHUB.yaml product_types is valid
  • /diagrams/ folder exists
  • /src/ folder exists
  • Folder name is kebab-case

Validation passed.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 31, 2026

Playbook Details (from APPHUB.yaml)

Field Value
Playbook title CUCM to Webex Calling Dial Plan Migration
Third-party tool Cisco UCM
Categories developer-tools, workflow-automation
Estimated implementation time 4-8 hours

Auto-generated from APPHUB.yaml.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 31, 2026

Contentstack: Published to integration

cucm-dialplan-migration-playbook


Published playbooks are available in the integration environment.

@@ -0,0 +1,211 @@
# Cisco UCM Dial Plan + Webex Calling Integration
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we call this "CUCM to Webex Calling Dial Plan Migration"? Maybe a better folder name than "dialplan" as well

- Folder: playbooks/dialplan → playbooks/cucm-dialplan-migration
- Title: "Cisco UCM Dial Plan + Webex Calling Integration"
        → "CUCM to Webex Calling Dial Plan Migration"
- APPHUB.yaml: friendly_id, title, product_url updated
- README.md: H1 and clone cd path updated

Made-with: Cursor
@fortunesmith fortunesmith changed the title feat(dialplan): Cisco UCM Dial Plan + Webex Calling Integration playbook feat(cucm-dialplan-migration): CUCM to Webex Calling Dial Plan Migration playbook Mar 31, 2026
@fortunesmith fortunesmith merged commit 187c140 into main Mar 31, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants