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’esternoDNS 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-interno vengono spediti su Internet. Risposta: le regole per i domini locali devono avere priorità inferiore (valutate prima) e On 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 @dominio prima 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.