La Mobile and Remote Access (MRA) permette a client Jabber e Webex App di registrarsi su Cisco Unified CM e usare presence, IM e chiamate senza VPN, attraversando la coppia Expressway-C / Expressway-E. Perché tutto questo funzioni, il primo passo non è il traffico SIP: è la service discovery basata su record DNS SRV. Se il DNS è sbagliato, il client non capisce nemmeno dove registrarsi.
Come il client sceglie il percorso
All’avvio, dopo aver ricavato il dominio dei servizi (tipicamente la parte destra dell’indirizzo email dell’utente), il client interroga il DNS per due record SRV chiave:
| Record SRV | Punta a | Porta tipica | Significato |
|---|---|---|---|
_cisco-uds._tcp.<dominio> |
nodi Unified CM (publisher/subscriber) | 8443 | Percorso interno (on-premises) |
_collab-edge._tls.<dominio> |
Expressway-E (FQDN pubblico) | 8443 | Percorso esterno (MRA via Collaboration Edge) |
La logica di selezione è precisa e va memorizzata:
- Se il client risolve
_cisco-udsed è raggiungibile → si registra direttamente su Unified CM tramite UDS (User Data Service). È il caso del client dentro la rete aziendale. - Se
_cisco-udsnon viene risolto ma_collab-edgesì → il client instrada la registrazione attraverso Expressway-E (MRA). È il caso del client fuori dalla rete. - Se entrambi rispondono, prevale il percorso interno (
_cisco-uds).
Da qui deriva il principio architetturale fondamentale: _cisco-uds deve essere risolvibile solo internamente, mentre _collab-edge è il record che i client remoti trovano sul DNS pubblico.
Split-DNS: due viste dello stesso dominio
MRA presuppone tipicamente uno split-DNS (o split-brain): lo stesso nome di dominio esiste in due zone.
- DNS interno: risolve
_cisco-uds._tcp(verso i nodi CUCM) e può risolvere_collab-edgeverso l’FQDN interno di Expressway-E. Risolve inoltre gli FQDN di CUCM/IM&P che Expressway-C usa internamente. - DNS pubblico / esterno: NON deve pubblicare
_cisco-uds(esporrebbe i server interni ed è comunque inutile). Pubblica solo_collab-edge._tls.<dominio>che punta all’FQDN pubblico di Expressway-E, poi risolto da un record A verso l’IP pubblico (NAT/static NAT sul firewall).
Nota RFC 2782: il target di un record SRV è sempre un nome host (FQDN), mai un indirizzo IP. Il client legge priorità (valore più basso = preferito) e peso per l’FQDN, poi risolve quell’FQDN con un record A. L’FQDN di Expressway-E deve inoltre comparire come SAN nel suo certificato server, altrimenti l’handshake TLS del client fallisce anche con DNS corretto.
Perché il traffico arriva a Expressway-E
Il client remoto, ottenuto l’FQDN pubblico da _collab-edge, apre una sessione TLS verso la porta 8443 di Expressway-E. Expressway-E autentica il traversal verso Expressway-C, che a sua volta fa da proxy verso Unified CM. La discovery corretta è dunque il prerequisito che innesca l’intera catena Collaboration Edge.
Trappole tipiche d’esame
-
Scenario: i client interni si registrano ma i remoti no, e nel DNS pubblico manca
_collab-edge._tls. → Risposta: senza il record SRV_collab-edgeesterno il client remoto non ha alcun modo di scoprire Expressway-E; va creato sul DNS pubblico puntando all’FQDN pubblico di Expressway-E, porta 8443. -
Scenario:
_collab-edgeesiste ma il suo target è l’IP privato DMZ di Expressway-E (o direttamente un IP). → Risposta: errato. Il target SRV deve essere un FQDN pubblico, risolto da un record A verso l’IP pubblico (NAT). Un target con IP o con indirizzo privato rompe risoluzione e validazione del certificato. -
Scenario:
_cisco-udsè pubblicato anche sul DNS pubblico. → Risposta: rimuoverlo. Espone i nodi CUCM e può indurre i client remoti a tentare un percorso interno irraggiungibile invece di MRA. -
Scenario: split-brain mal configurato — la zona interna e quella esterna divergono e all’esterno il dominio non risolve
_collab-edge. → Risposta: allineare le zone: l’esterno deve avere_collab-edge, l’interno_cisco-uds; incoerenze tra le due viste interrompono la discovery. -
Scenario: DNS corretto ma il client remoto fallisce l’handshake TLS su 8443. → Risposta: verificare che l’FQDN pubblico usato in
_collab-edgesia presente nel SAN del certificato di Expressway-E; la discovery DNS non basta se il nome non è nel certificato.