Il problema del routing B2B
Nelle comunicazioni Business-to-Business (B2B) due organizzazioni indipendenti si chiamano usando URI dialing nella forma utente@dominio-esterno.com. Il compito dell’edge Cisco Expressway è capire, per ogni alias in ingresso a una search rule, dove instradare la chiamata: verso l’interno dell’azienda (endpoint registrati, Unified CM) oppure verso un’organizzazione remota su Internet. Questa biforcazione è il cuore del design B2B e si regge su due componenti: le zone (dove mando la chiamata) e le search rules (con quale priorità e su quale pattern decido).
DNS zone: risoluzione dei domini esterni
La DNS zone vive sull’Expressway-E ed è l’unica zona capace di raggiungere domini che non conosciamo a priori. Quando una chiamata viene indirizzata alla DNS zone, l’Expressway-E esegue una query DNS SRV pubblica sul dominio di destinazione, tipicamente in ordine di preferenza:
| Record SRV | Trasporto | Porta tipica |
|---|---|---|
_sips._tcp.<dominio> |
SIP over TLS | 5061 |
_sip._tcp.<dominio> |
SIP over TCP | 5060 |
_sip._udp.<dominio> |
SIP over UDP | 5060 |
_h323ls._udp / _h323cs._tcp |
H.323 | RAS / call signaling |
Il record SRV restituisce priorità, peso, porta e hostname del collaboration edge remoto, che viene poi risolto in A/AAAA. In questo modo la DNS zone raggiunge dinamicamente qualsiasi partner senza configurazione statica. Per questo la DNS zone è la destinazione outbound per eccellenza.
Search rules: chi indirizza verso la DNS zone
Le search rules valutano gli alias in ordine di priorità crescente (valore più basso = valutata prima; default 100, range 0–65534). Per il B2B in uscita si crea una regola che intercetta gli alias @dominio-esterno e li punta alla DNS zone:
- Mode: Alias pattern match
- Pattern type: Regex
- Pattern string: ad esempio
(?!.*@synsphere\.local).*@.*\..*(URI con dominio, escludendo il proprio) - On successful match: Stop
- Target: DNS zone
Il transform (o la sezione Pattern behavior della regola) serve a normalizzare l’URI prima dell’invio: rimuovere prefissi interni, riscrivere il dominio, o lasciare l’alias invariato (Leave) perché la parte @dominio è ciò che pilota la query SRV. Un transform globale può, ad esempio, convertire una numerica +39... in +39...@dominio.com per abilitare l’URI dialing verso l’esterno.
Interno vs esterno: la biforcazione
La distinzione chiave d’esame:
- Verso l’interno → zone di tipo neighbor (verso Unified CM o altri Expressway) o la traversal zone che collega Expressway-C ed Expressway-E. Il traffico da MRA/B2B entrante scende dall’E al C attraverso la traversal zone; le chiamate per endpoint registrati o per il dominio aziendale finiscono su neighbor zone locali.
- Verso l’esterno → DNS zone sull’Expressway-E, raggiunta risalendo dalla traversal zone e poi uscendo con la risoluzione SRV pubblica.
Sull’Expressway-C le search rules per il proprio dominio puntano al Unified CM (neighbor); tutto ciò che non è locale viene passato alla traversal zone verso l’E, che a sua volta ha la regola verso la DNS zone.
Trappole tipiche d’esame
- Priorità sbagliata sulla regola DNS zone → chiamate interne perse. Se la regola verso la DNS zone ha priorità più alta (numero più basso) delle regole per il dominio interno, anche gli alias
@dominio-internovengono spediti su Internet. Risposta: le regole per i domini locali devono avere priorità inferiore (valutate prima) eOn match: Stop. - Pattern troppo ampio → loop. Un pattern come
.*@.*senza esclusione del proprio dominio fa sì che l’Expressway-E interroghi il DNS SRV per il proprio dominio, si risolva su sé stesso e generi un loop (bloccato solo dal max hop count). Risposta: usare un negative lookahead che escluda i domini interni. - Regola sull’Expressway sbagliato. La DNS zone e la sua search rule vanno sull’Expressway-E, non sul C: il C non deve mai fare query DNS pubbliche. Risposta: outbound B2B esce sempre dall’E.
- Transform che rompe la parte dominio. Un transform che strippa o riscrive il
@dominioprima della DNS zone rende impossibile la query SRV corretta. Risposta: preservare (Leave) l’host part destinato alla risoluzione esterna. - Confusione neighbor vs DNS zone. Uno scenario che chiede come raggiungere un partner sconosciuto su Internet richiede la DNS zone (risoluzione dinamica), non una neighbor zone statica; la neighbor zone si usa solo per peer noti e preconfigurati.