CCA Phone Services
A phone-services gateway that puts the CCA data fleet on Cisco 8800-series and Avaya 9641G/GS desk phones.
This worker answers the Applications (⚙ gear) → Services button on
CUCM-registered Cisco 8800-series phones (as CiscoIPPhone* XML), and the
Web Apps browser on Avaya 9641G/GS phones (as WML 1.3). It pulls
read-only, non-sensitive data from sibling fleet workers (aerospace, geocode, postal, radiodb,
community) over service bindings, plus the newer public data services (schools, geo, names,
NAICS/SIC/HTS, WHOIS, domain security) and the public NWS weather API.
Phone entry points
Cisco — point the CUCM Service URL at:
http://phoneservices.datasourceapi.com/cisco
Avaya — set WMLHOME in 46xxsettings.txt to:
http://phoneservices.datasourceapi.com/avaya
Humans: this page is the landing page; the phone content lives under /cisco and /avaya.
Opening it on the phone
Cisco 8800: press Applications (⚙) →
Services → CCA Phone Services. Keypad 1–9
quick-select menu items; input screens auto-provide Submit; result screens offer
Back / Update / Home.
Avaya 9641G/GS: open Home → Web Apps
(the WML browser home). Softkeys: Search/Update, Back,
Home. Setup: docs/AVAYA-PHONE-SETUP.md.
Services on the phone
| Menu item | What it does |
|---|---|
| Weather | ZIP → 5-period NWS forecast, plus NWS active weather alerts by state. |
| Aviation | Airport info, METAR, TAF, and FAA aircraft (N-number) registry lookup. |
| Places & ZIP | ZIP profile (place, county, class, population) and nearby post offices. |
| Schools | Search public/private schools by name or city, with grades & location. |
| Countries | ISO country profile: codes, capital, region, population, languages. |
| Baby Names | US SSA name stats: gender, rank, peak year, uniqueness. |
| Business Codes | NAICS, SIC, and HTS (tariff) code lookup with hierarchy. |
| Internet | Domain WHOIS (registrar, dates, status) and DNS/email security posture. |
| FCC Callsign | FCC radio license lookup (licensee, service, status, location). |
| 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 Cisco CiscoIPPhoneMenu (text/xml) |
GET /avaya | Avaya WML 1.3 home deck (text/vnd.wap.wml) |
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.