Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Convenzioni

Premesse

Configurazione

Esempio di rete

Configurazioni di base

Esempio di configurazione

Verifica

Risoluzione dei problemi

Informazioni correlate

Introduzione

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.

Prerequisiti

Requisiti

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)

Componenti usati

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.

Convenzioni

Fare riferimento a Cisco Technical Tips Conventions per ulteriori informazioni sulle convenzioni dei documenti.

Premesse

Nell'esempio seguente viene illustrato un tipico RR NAPTR e i dettagli di campo.

1. Campo Domain.

2. Campo Classe: "IN" = Internet.

3. Tipo di record di risorse: NAPTR = 35.

4. Ordine: più basso è il valore, maggiore è la precedenza.

5. Preferenza di RR NAPTR con ordine uguale.

6. 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.

7. 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).

8. 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.

Configurazione

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).

Esempio di rete

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.

1. L'utente chiama il numero 901189.

2. 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).

3. CUBE contatta il server DNS per risolvere il nome di dominio completo.

4. 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.

5. CUBE invia una chiamata in uscita a 2000@9.13.8.100.

Configurazioni di base

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!" .

Esempio di configurazione

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

Verifica

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#

Risoluzione dei problemi

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.

Informazioni correlate

- Supporto alla tecnologia vocale

- Supporto ai prodotti voce e Unified Communications

- Guida di riferimento ai comandi di Cisco IOS Debug, versione 12.3

- Guida di riferimento ai comandi vocali di Cisco IOS

- Documentazione e supporto tecnico – Cisco Systems