Skip to content

fix(calling): discover Mobius hosts via U2C catalog - #22

Merged
tejzpr merged 1 commit into
WebexCommunity:mainfrom
tejzpr:mobius-selector-fix
Jul 23, 2026
Merged

fix(calling): discover Mobius hosts via U2C catalog#22
tejzpr merged 1 commit into
WebexCommunity:mainfrom
tejzpr:mobius-selector-fix

Conversation

@tejzpr

@tejzpr tejzpr commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

🚀 Description, Motivation, and Context

Fixes Mobius service discovery for Webex Calling registration.

The Calling client previously expected Mobius hosts to be available in the WDM device registration response. Current Webex service discovery instead provides Mobius clusters through the authenticated U2C Services v2 catalog. When no hosts were found in WDM, the client fell back to a hardcoded EU Mobius endpoint, which could return HTTP 404 for users in other regions.

This change:

  • Fetches the U2C service catalog using GET /catalog?format=U2CV2.
  • Uses the U2C URL advertised by WDM when available, with a configurable default URL.
  • Extracts Mobius hosts from both array and keyed-object Services v2 payloads.
  • Normalizes and deduplicates discovered hosts.
  • Preserves the existing fallback behavior when service discovery is unavailable.

📖 Issues and Related PRs

  • Issue URL: N/A
  • Related PR: N/A

🖼 Screenshots

Not applicable; this change does not modify the UI.

🌮 How This Was Tested

  • Ran locally and verified
  • Created tests (unit and/or E2E)
  • Automated testing unnecessary (chores, doc updates, etc.)

Added unit coverage for:

  • The authenticated U2C catalog request path and U2CV2 query parameter.
  • Services v2 array and keyed-object payloads.
  • URL normalization and malformed URL filtering.
  • Case-insensitive Mobius service names.
  • Host deduplication across discovery sources.

Ran the full SDK test suite with go test ./....

Required Items Complete

  • Unit tests written
  • Integration tests written
  • Coverage verified
  • Functionally tested
  • Deployable to production
  • Uses feature flags
  • README updated
  • Build passes

Security

No security feature or issue is addressed by this change. The U2C request uses the existing Webex access token and configured HTTP client; no credentials are logged or persisted.

@codecov-commenter

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@tejzpr
tejzpr merged commit b4d0f2b into WebexCommunity:main Jul 23, 2026
4 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