Il CUBE (Cisco Unified Border Element) semplifica la mappatura dei numeri E.164 chiamati numeri agli URI (Uniform Resource Identifier) del protocollo SIP (Session Initiation Protocol). La tecnologia SIP ENUM permette alla parte di telefonia tradizionale della rete (che usa la numerazione E.164 per indirizzare le destinazioni) di interagire con la parte di telefonia SIP della rete, generalmente usando gli URI SIP.
Dalla rete PSTN (Public Switched Telephone Network), se un utente finale compone un numero E.164 chiamato, il numero può essere tradotto da un gateway ENUM nell'URI SIP corrispondente. Questo URI SIP viene quindi utilizzato per cercare i record di risorse (RR) NAPTR (Domain Name System). Il record di risorse NAPTR (come definito nella RFC 2915) descrive il modo in cui la chiamata deve essere inoltrata o terminata e registra informazioni quali indirizzi di posta elettronica, numeri di fax, siti Web personali, numeri VoIP (Voice over IP), numeri di telefoni cellulari, sistemi di posta vocale, indirizzi di telefonia IP e pagine Web.
In alternativa, quando la parte chiamante è un endpoint VoIP e compone un numero E.164, l'agente utente SIP (UA) del mittente lo converte in un URI SIP da utilizzare per cercare il DNS del gateway ENUM e recuperare il record di risorse NAPTR.
Prima di provare questa configurazione, accertarsi di soddisfare i seguenti requisiti:
Conoscenze base di come configurare e utilizzare Cisco IOS® Voice
Conoscenze base di come configurare e utilizzare Cisco Unified Border Element (CUBE)
Le informazioni fornite in questo documento si basano sulla versione Cisco Unified Border Element su un ISR che usa Cisco IOS versione 12.4T.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Fare riferimento a Cisco Technical Tips Conventions per ulteriori informazioni sulle convenzioni dei documenti.
Nell'esempio seguente viene illustrato un tipico RR NAPTR e i dettagli di campo.
Campo Domain.
Campo Classe: "IN" = Internet.
Tipo di record di risorse: NAPTR = 35.
Ordine: più basso è il valore, maggiore è la precedenza.
Preferenza di RR NAPTR con ordine uguale.
Campo Contrassegno: Un flag "U" indica che il passaggio successivo non è una ricerca DNS ma che l'output del campo Regexp è un URI. Un flag "A" indica che il passaggio successivo è la ricerca di un indirizzo. Un flag "S" indica che il passo successivo è una ricerca di record SRV.
Campo Servizio: questo campo indica il protocollo e il servizio utilizzati. La sintassi "sip+E2U" indica che il protocollo è SIP e E2U indica il mapping E.164-URI (in base alla RFC 2916). I gateway Cisco IOS non supportano "E2U+sip" (RFC 3761 Service Type).
Campo Regexp: questo campo contiene informazioni su corrispondenze e sostituzioni.
Di seguito viene descritta la descrizione dettagliata (in base alla RFC 2916) dei campi chiave nel record di risorse NAPTR:
Campo 4 - Il campo Ordine specifica l'ordine in cui i record DEVONO essere elaborati quando vengono restituiti più record NAPTR in risposta a una singola query.
Campo 5 - Il campo delle preferenze specifica l'ordine in cui i record DEVONO essere elaborati quando più record NAPTR hanno lo stesso valore di "order".
Campo 6 - Il campo del contrassegno contiene modificatori che influiscono su quanto accade nella successiva ricerca DNS, in genere per ottimizzare il processo.
Campo 7 - Il campo service specifica il protocollo di risoluzione e i servizi di risoluzione che saranno disponibili se viene applicata la riscrittura specificata dai campi regexp o replace.
Campo 8 - Il campo regexp è uno dei due campi utilizzati per le regole di riscrittura ed è il concetto di base del record NAPTR.
Campo 8 - Il campo di sostituzione è l'altro campo che può essere utilizzato per la regola di riscrittura.
In questa sezione vengono presentate le informazioni necessarie per configurare le funzionalità descritte più avanti nel documento.
Nota: per ulteriori informazioni sui comandi menzionati in questa sezione, usare lo strumento di ricerca dei comandi (solo utenti registrati).
L'immagine mostra una tipica sequenza ENUM in un CUBE configurato per un servizio SIP-SIP:
Il diagramma mostra la sequenza di eventi che si verificano nella configurazione ENUM descritta in questo documento.
L'utente chiama il numero 901189.
La chiamata corrisponde al dial-peer in uscita 300 che punta alla tabella ENUM 3. La regola ENUM 3, regola 3, preferenza 2 sostituisce 9011 con +1408; la stringa finale risultante da ENUM è +140889. I caratteri diversi dal numero vengono rimossi e la stringa risultante è 140889. Le cifre vengono invertite, i punti aggiunti e la stringa viene aggiunta con il nome della zona; la stringa risultante è 9.8.8.0.4.1.e164.arpa, un nome di dominio completo (FQDN, Fully Qualified Domain Name).
CUBE contatta il server DNS per risolvere il nome di dominio completo.
Per supportare questa funzionalità, è necessario che nel server DNS sia configurato il record NAPTR e venga restituito l'URI SIP sip:2000@9.13.8.100.
CUBE invia una chiamata in uscita a 2000@9.13.8.100.
CUBE richiede la configurazione descritta in questa sezione per elaborare la risoluzione degli URI basata su ENUM.
Nell'esempio viene mostrato come abilitare la funzionalità CUBE per terminare le chiamate VoIP in arrivo e rioriginarle utilizzando un dial-peer VoIP in uscita.
voice service voip allow-connections h323 to sip allow-connections sip to h323 allow-connections sip to sip allow-connections h323 to h323
In questo esempio viene illustrato come configurare la tabella ENUM in CUBE:
voice enum-match-table 3 rule 3 2 /^9011\(.*\)//+1408\1/e164.arpa
Nell'esempio viene mostrato come configurare i dial-peer in entrata e in uscita con i relativi dati di protocollo, tipo DTMF e codec.
!-- Incoming dial peer dial-peer voice 1 voip incoming called-number 901189 session protocol sipv2 dtmf-relay rtp-nte codec g711ulaw ! !-- Outgoing dial peer ! dial-peer voice 2 voip destination-pattern 901189 session protocol sipv2 session target enum:3 !-- 3 denotes ENUM table number dtmf-relay rtp-nte codec g711ulaw
In questo esempio viene illustrato come configurare il server DNS in modo che restituisca l'URI SIP per l'FQDN invertito.
$ORIGIN 9.8.8.0.4.1.e164.arpa. IN NAPTR 100 10 "u" "sip+E2U" "!^.*$!sip:2000@9.13.8.100!" .
Di seguito è riportata una configurazione di esempio che mostra come supportare ENUM in CUBE.
Esempio di configurazione |
---|
! ip name-server 9.13.8.100 !-- DNS Server having NAPTR RR ! ! ! voice service voip allow-connections h323 to h323 allow-connections h323 to sip allow-connections sip to sip supplementary-service h450.12 h323 call start slow sip no call service stop ! ! voice enum-match-table 3 !-- ENUM table to digit stripping !-- and conversion into FQDN rule 3 2 /^9011\(.*\)/ /+1408\1/ e164.arpa ! ! dial-peer voice 300 voip destination-pattern 901189 session protocol sipv2 session target enum:3 !-- Session target Pointing to an ENUM table codec g711ulaw ! dial-peer voice 400 voip destination-pattern 4000 session protocol sipv2 session target ipv4:9.13.8.88 incoming called-number 901189 codec g711ulaw |
Verificare la configurazione come mostrato in questa sezione.
IPIP-2801-5#show voice enum detail IPIP-2801-5#enum_resolve_domain: match_num 901189 table_indx 3 enum_resolve_domain: rule 3 result string +140889 generate_enum_search_string : search string 9.8.8.0.4.1.e164.arpa enum_dns_query: name = 9.8.8.0.4.1.e164.arpa type = 35, ns_server = 0 order 100 pref 10 service sip+E2U flag u regexp !^.*$!sip:2000@9.13.8.100! replacement num_elem = 1 NAPTR Record : order 100 pref 10 service sip+E2U flags u regexp !^.*$!sip:2000@9.13.8.100! replacement decode_naptr_record : re_string ^.*$ decode_naptr_record : re_substitution_string sip:2000@9.13.8.100 decode_naptr_record : re_flags_string U_FLAG case, stopping query new_e164_user sip:2000@9.13.8.100 contact_list : sip:2000@9.13.8.100 enum_resolve_domain: contact_list 64D79698 IPIP-2801-5>en IPIP-2801-5#show voip rtp conn VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP 1 25 26 16836 20844 9.13.8.25 9.13.8.200 2 26 25 16720 49186 9.13.8.25 9.13.8.100 Found 2 active RTP connections IPIP-2801-5#show call active voice | inc Sess SessionProtocol=sipv2 SessionTarget=9.13.8.200 SessionProtocol=sipv2 SessionTarget=3 IPIP-2801-5#
Le informazioni contenute in questa sezione permettono di risolvere i problemi relativi alla configurazione.
show voice enum: per visualizzare le regole di una tabella di corrispondenza ENUM, usare il comando enum-match-table [table-num] in modalità di esecuzione privilegiata.
debug voip enum detail: per visualizzare le informazioni sull'enum VoIP, usare il comando debug voip enum in modalità di esecuzione privilegiata.
In questo output di esempio vengono visualizzate le informazioni ricevute quando si eseguono i comandi per la risoluzione dei problemi:
IPIP-2801-5#debug voip enum detail enum_resolve_domain: match_num 901189 table_indx 3 enum_resolve_domain: rule 3 result string +140889 generate_enum_search_string : search string 9.8.8.0.4.1.e164.arpa enum_dns_query: name = 9.8.8.0.4.1.e164.arpa type = 35, ns_server = 0 order 100 pref 10 service sip+E2U flag u regexp !^.*$!sip:2000@9.13.8.100! replacement num_elem = 1 NAPTR Record : order 100 pref 10 service sip+E2U !-- Per RFC2916 flags u regexp !^.*$!sip:2000@9.13.8.100! replacement decode_naptr_record : re_string ^.*$ decode_naptr_record : re_substitution_string sip:2000@9.13.8.100 decode_naptr_record : re_flags_string U_FLAG case, stopping query new_e164_user sip:2000@9.13.8.100 contact_list : sip:2000@9.13.8.100 enum_resolve_domain: contact_list 64D79698 TB1-IPIPGW1-3#enum_resolve_domain: match_num 901189 table_indx 3 enum_resolve_domain: rule 3 result string +140889 generate_enum_search_string : search string 9.8.8.0.4.1.e164.arpa enum_dns_query: name = 9.8.8.0.4.1.e164.arpa type = 35, ns_server = 0 order 100 pref 10 service E2U+sip flag u regexp !^.*$!sip:521000@10.1.1.100! replacement num_elem = 1 NAPTR Record : order 100 pref 10 service E2U+sip !-- Per RFC2916 flags u regexp !^.*$!sip:521000@10.1.1.100! replacement validate_service_field: NAPTR Record format Error, non-supported "service protocol" field find_enum_contact_list_i: NAPTR Record format Error, invalid "service" field TB1-IPIPGW1-3#show voice enum voice enum_match_table 3 rule 3 2 /^9011\(.*\)/ /+1408\1/ e164.arpa
Nota: consultare le informazioni importanti sui comandi di debug prima di usare i comandi di debug.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
02-Jul-2009 |
Versione iniziale |