CCA Phone Services
A Cisco IP Phone Services (XML) gateway that puts the CCA data fleet on Cisco 8800-series desk phones.
This worker answers the Applications (⚙ gear) → Services button on
CUCM-registered Cisco 8800-series phones. It renders CiscoIPPhone* XML menus and
pulls read-only, non-sensitive data from sibling fleet workers (aerospace, geocode, postal,
radiodb, community) over Cloudflare service bindings. Weather comes from the public NWS API.
Phone entry point
Point the CUCM Service URL at:
http://phoneservices.datasourceapi.com/cisco
Humans: this page is the landing page; the XML lives under /cisco.
Opening it on the phone (gear → Services)
Press Applications (⚙) → Services
→ CCA Phone Services. Keypad 1–9 quick-select menu
items; input screens auto-provide Submit; result screens offer
Back / Update / Home.
Services on the phone
| Menu item | What it does |
|---|---|
| Weather | Enter a ZIP → 5-period NWS forecast for that point. |
| Aviation | Airport info, METAR, TAF, and FAA aircraft (N-number) registry lookup. |
| Places & ZIP | ZIP profile (place, county, class, population) and nearby post offices. |
| FCC Callsign | FCC radio license lookup (licensee, service, status, frequencies). |
| About / Status | Service info, detected phone model, and upstream binding health. |
CUCM setup (quick)
- Device → Device Settings → Phone Services → Add New
- Service Category
XML Service, Service TypeStandard IP Phone Service - Service URL:
http://phoneservices.datasourceapi.com/cisco - Subscribe phones (or mark Enterprise Subscription), then reset the phone.
- Ensure Enterprise Parameters → Services Provisioning is Internal or Both, else services won't appear under the gear button.
Step-by-step + hardware acceptance checklist + troubleshooting:
docs/CUCM-PHONE-SETUP.md.
HTTP vs HTTPS — read this
A CUCM-registered 8865 validates HTTPS against the CUCM-provisioned trust list (ITL/CTL), not the public CA bundle — so it will reject Cloudflare's public TLS cert out of the box. Two supported options:
- Plain HTTP (simplest): use the
http://Service URL above. Ensure Cloudflare Always Use HTTPS / Automatic HTTPS Rewrites are off forphoneservices.datasourceapi.comso requests aren't 301'd to HTTPS. All in-XML links stay on HTTP automatically (scheme-preserving). - HTTPS: push Cloudflare's root CA into CUCM so phones trust the TLS cert.
The current edge chain anchors at
GlobalSign ECC Root CA - R4; upload it (plus the GTS/ISRG resilience roots) to CUCM OS Admin → Security → Certificate Management under bothPhone-trustandTVS-trust, restart Trust Verification Service, and reset the phones. Ready-to-upload certs live incerts/cloudflare-fleet/; runscripts/cucm-trust-bundle.shto confirm the current anchor. Full procedure:docs/CUCM-HTTPS-TRUST.md.
API
| Route | Returns |
|---|---|
GET /cisco | Main CiscoIPPhoneMenu (text/xml) |
GET /api/v1/status | JSON envelope: service + upstream binding health |
GET /api/v1/services | JSON catalog of phone features |
GET /healthz | Plain-text liveness |
coopalliance/cca-cucm-services · part of the CCA data-service fleet.