L'ID chiamante è un servizio analogico tramite il quale uno switch CO (central office) telefonico invia informazioni digitali sulla chiamata in arrivo. La funzione di recapito del nome del chiamante per le porte Analog Foreign Exchange Station (FXS) è stata introdotta per la prima volta nel software Cisco IOS® versione 12.1(2)XH ed è disponibile su tutte le versioni più recenti del software Cisco IOS. Questa funzione è disponibile e configurabile su base per porta sui telefoni connessi alle porte voce FXS analogiche. Questa funzione è disponibile anche sul Foreign Exchange Office (FXO) analogico.
Nota: le porte FXS trasmettono l'ID chiamante, mentre le porte FXO ricevono l'ID chiamante. L'ID chiamante interagisce con telefoni analogici, PSTN (Public Switched Telephone Network), PBX (Private Branch Exchange), terminali H.323 (ad esempio Microsoft NetMeeting), Cisco CallManager e telefoni IP. Pertanto, l'ID chiamante può essere recapitato tramite una rete di telefonia costituita da tutti o da alcuni di questi dispositivi, con alcune eccezioni.
Inoltre, è disponibile una funzionalità di Cisco IOS che consente a un progettista di rete di bloccare la trasmissione dell'ID chiamante dalla porta FXS, se necessario. L'ID chiamante viene sbloccato, per impostazione predefinita, per tutte le chiamate; tuttavia, l'ID chiamante può essere bloccato per singola porta. Quando si attiva questa funzionalità su una determinata porta, l'ID chiamante di tutte le chiamate provenienti da tale porta viene bloccato.
Prima di provare la configurazione, accertarsi di conoscere i riferimenti ai comandi per questa funzionalità, descritti di seguito:
[no] caller-id enable - Abilita e disabilita l'ID chiamante. L'impostazione predefinita è ID chiamante disabilitato. Questo abilita o disabilita la trasmissione dell'ID chiamante su una porta FXS e abilita o disabilita la ricezione dell'ID chiamante su una porta FXO.
[no] station-id number string - Fornisce un numero di stazione da utilizzare come numero di chiamata associato alla porta voce. Il parametro string è facoltativo e, se specificato, viene passato come numero chiamante quando una chiamata ha origine da questa porta vocale. Se questo parametro non viene specificato, viene utilizzato il numero di chiamata ottenuto da una ricerca peer di composizione inversa. Se non viene ricevuto alcun ID chiamante su una porta voce FXO, questo parametro viene utilizzato come numero chiamante. Il numero massimo di caratteri utilizzabili per il parametro string è 15.
[no] station-id namestring - Fornisce un nome di stazione associato alla porta voce. Il parametro string viene passato come nome chiamante all'estremità remota quando una chiamata ha origine da questa porta vocale. Se non viene ricevuto alcun ID chiamante su una porta voce FXO, questo parametro viene utilizzato come nome chiamante. Il numero massimo di caratteri utilizzabili per il parametro string è 15.
[no] blocco id chiamante - Blocca o sblocca l'ID chiamante. L'impostazione predefinita è ID chiamante sbloccato. Questo comando blocca o sblocca l'ID chiamante di tutte le chiamate provenienti da questa porta. Questo comando è disponibile solo sulle porte voce FXS.
[no] ring number string - Questo comando imposta il numero massimo di squilli da rilevare prima che una chiamata venga risposta su una porta voce FXO. Il comando ring number indica il modo in cui Cisco riceve le informazioni sull'ID del chiamante dopo due squilli. Per ulteriori informazioni, fare riferimento alla sezione ring number in Cisco IOS Voice Command Reference.
Questa configurazione è stata sviluppata e testata con le seguenti versioni software e hardware:
Router Cisco 2600 IOS® con scheda Ethernet, scheda FXS analogica, modulo NM-2V e scheda video VWIC-MFT con modulo NM-HDV
Un semplice telefono analogico con RJ-11 collegato a un Cisco 2600
PBX di terze parti con interfaccia T1 per altri Cisco 2600
Le versioni Cisco IOS utilizzate nella serie 2600 sono il software Cisco IOS® versione 12.2(10)
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.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
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 questo documento, usare lo strumento di ricerca dei comandi (solo utenti registrati).
La semplice rete di telefonia illustrata nel diagramma mostra un esempio di recapito dell'ID chiamante tramite la LAN e la porta FXS sul lato Cisco 2600 B al telefono B. L'ID chiamante non è supportato sulle linee di segnalazione associate al canale E&M (CAS). Nell'esempio, l'ID chiamante viene falsificato come se provenisse dalla linea CAS, per essere inviato alla porta FXS. Per le linee digitali, per impostazione predefinita solo le linee ISDN supportano la consegna dell'ID chiamante e il tipo CAS fgd è l'unico tipo CAS a supportare la consegna dell'ID chiamante.
Sulle piattaforme Cisco AS5300 e AS5800, una funzionalità del gruppo di funzionalità di segnalazione CAS B (FGB) consente di ricevere l'ANI (Automatic Number Identification) durante la configurazione di T1. Se si utilizza questa segnalazione, l'ID chiamante viene ricevuto automaticamente sui sistemi Cisco 5300 o 5800. Questa funzione è spiegata ulteriormente in CAS su T1 Voice Channels.
Questa configurazione mostra solo gli elementi che appartengono ai comandi VoIP (Voice over IP) e ID chiamante:
Il flusso di chiamate viene dal PBX al telefono B. In questo scenario, se una chiamata arriva al numero 2600 A e viene recapitata al numero 2600 B, sul telefono B viene visualizzato l'ID chiamante:
Name = Outside CallingNumber = 5553030 Time = 2600 B’s local clock setting
Nel documento vengono usate queste configurazioni:
Cisco 2600 A |
---|
! Controller T1 1/0 framing esf linecode b8zs ds0-group 1 timeslots 1-4 type e&m-wink-start ! interface ethernet 0/0 ip address 10.10.1.2 255.255.255.0 ! voice-port 1/0:1 station-id name Outside !--- Command line interface (CLI) to spoof !--- Name Display on phone for all calls !--- from CAS line. station-id number 5553030 !--- CLI to spoof Number Display on phone !--- for all calls from CAS line. ! dial-peer voice 9913050 voip destination-pattern 9913050 session target ipv4:10.10.1.1 ! |
Cisco 2600 B |
---|
! interface ethernet 0/1 ip address 10.10.1.1 255.255.255.0 ! voice-port 1/1/0 caller-id enable !--- Enables Caller ID feature. ! dial-peer voice 100 pots destination-pattern 9913050 port 1/1/0 ! |
Per abilitare la traduzione dell'intestazione SIP Remote-Party-ID, usare il comando remote-party-id in modalità di configurazione SIP UA.
Router(config)#sip-ua
Router(config-sip-ua)#remote-party-id
Quando il comando remote-party-id è abilitato, se nel messaggio INVITE in arrivo è presente un'intestazione Remote-Party-ID, il nome e il numero della chiamata estratti dall'intestazione Remote-Party-ID vengono inviati come nome e numero della chiamata nel messaggio di installazione in uscita. Per ulteriori informazioni sulle estensioni SIP per l'identità del chiamante, vedere Estensioni SIP per l'identità e la privacy del chiamante.
Per la verifica e le configurazioni di base dell'ID chiamante, fare riferimento a CAS su T1 Voice Channels.
Le informazioni contenute in questa sezione permettono di risolvere i problemi relativi alla configurazione.
È possibile attivare diversi debug per risolvere i problemi relativi all'ID chiamante sui router. I debug della segnalazione del modulo della porta voce (VPM) (segnale vpm di debug) rilevano i debug fxs-loopstart standard con la funzione ID chiamante attivata. I debug vengono analizzati dalla prospettiva del router terminante e della porta FXS di tale router; ID chiamante ricevuto su questa estremità.
Debug del gateway 2600 B terminante sulla porta FXS |
---|
2600B# show debug Voice Port Module signaling debugging is on Nov 17 17:05:27.144 EST: [1/1/0, FXSLS_ONHOOK, E_HTSP_SETUP_REQ] fxsls_onhook_setup Nov 17 17:05:27.144 EST: [1/1/0] set signal state = 0x0 timestamp= 0 htsp_progress Nov 17 17:05:27.144 EST: [1/1/0] set signal state = 0x0 timestamp= 0 !--- Here is what is delivered to the phone. Nov 17 17:05:27.144 EST: [1/1/0] htsp_set_caller_id_tx calling num=5553030 display_info=Outside called num=9913050 !--- Here is the Hex that is sent out to the phone. Nov 17 17:05:27.144 EST: [1/1/0] Caller ID String 80 1C 01 08 31 31 31 37 32 32 30 35 07 35 35 35 33 30 33 30 07 07 4F 75 74 73 69 64 65 6F Nov 17 17:05:27.148 EST: [1/1/0] htsp_set_caller_id_tx Caller ID: FSK_DURING_RING Nov 17 17:05:27.148 EST: [1/1/0] htsp_start_caller_id_tx string length=31 Nov 17 17:05:27.160 EST: [1/1/0, FXSLS_WAIT_OFFHOOK, E_HTSP_VOICE_CUT_THROUGH] fxsls_waitoff_voice Nov 17 17:05:34.836 EST: [1/1/0, FXSLS_WAIT_OFFHOOK, E_HTSP_RELEASE_REQ] fxsls_waitoff_release Nov 17 17:05:34.836 EST: [1/1/0] set signal state = 0x4 timestamp = 0 |
Nota: le righe di questo output che si trovano su più di una riga vengono visualizzate come un'unica riga nell'output di debug.
Viene visualizzato sul telefono B:
CallerID = 5553030 Name = Outside Time = 10:05P Nov17 !--- Time is received from the Local Router Clock.
Quando nell'esempio viene decodificata la stringa esadecimale dell'ID chiamante, vengono forniti i seguenti risultati:
Nov 17 17:05:27.144 EST: [1/1/0] Caller ID String 80 1C 01 08 31 31 31 37 32 32 30 35 02 07 35 35 35 33 30 33 30 07 07 4F 75 74 73 69 64 65 6F !--- Decode from Bellcore. 80 1C: Header (80 = Call Setup, Length) 01 : Parameter Value (Date and Time) 08 : Length of Information 31 31: Month (11 = November) 31 37: Day (17th) 32 32: Hour( 22) 30 35: Minute(05) 02 : Parameter Value (Calling Line DN) 07 : Length of Parameter 35 35 35 33 30 33 30 : Phone number (5553030) 07 : Parameter Value (Display) !--- "P" (0x50) is sent if "Anonymous" indication !--- is to be sent to phone. !--- "O" (0x4F) is sent if "Out of Area/Unavailable" indication !--- is to be sent to the phone. 07 : Parameter Length 4F 75 74 73 69 64 65 : Display in ASCII Hex.
Nota: le righe di questo output che si trovano su più di una riga vengono visualizzate come un'unica riga nell'output di debug.
Nell'esempio illustrato, tutto funziona correttamente e sia la visualizzazione dei nomi che quella dei numeri vengono recapitate correttamente al telefono. In questi due scenari, il numero chiamante non viene visualizzato in un caso e nell'altro il nome non viene visualizzato.
Nov 17 17:39:34.164 EST: [1/1/0] htsp_set_caller_id_tx calling num= display_info=Outside called num=9913050 Nov 17 17:39:34.164 EST: [1/1/0] Caller ID String 80 16 01 08 31 31 31 37 32 32 33 39 04 01 4F 07 07 4F 75 74 73 69 64 65 88
Nota: le righe di questo output che si trovano su più di una riga vengono visualizzate come un'unica riga nell'output di debug.
Quando la stringa dell'ID chiamante esadecimale viene decodificata nell'esempio, la sottostringa 04 01 4F viene convertita nel modo seguente:
04 : Reason for Absence of DN 01 : Length of message 4F : "Out of Area"
Nov 17 17:53:24.034 EST: [1/1/0] htsp_set_caller_id_tx calling num=5551212 display_info= called num=9913050 Nov 17 17:53:24.034 EST: [1/1/0] Caller ID String 80 16 01 08 31 31 31 37 32 32 35 33 02 07 35 35 35 31 32 31 32 08 01 4F 05
Nota: le righe di questo output che si trovano su più di una riga vengono visualizzate come un'unica riga nell'output di debug.
Quando la stringa dell'ID chiamante esadecimale viene decodificata nell'esempio, la sottostringa 08 01 4F viene convertita nel modo seguente:
08 : Reason for Absence of Display 01 : Length 4F : "Out of Area"
Si tratta degli stessi debug VPM di una porta FXO che riceve l'ID chiamante. Nell'esempio mostrato, la porta FXS trasmette l'ID chiamante al telefono. Nel caso di una porta FXO, il processo è invertito, ma i debug sono molto simili (mostrati qui).
Debug di una porta FXO che riceve correttamente l'ID chiamante |
---|
Nov 20 10:40:15.861 EST: [1/0/0] htsp_start_caller_id_rx Nov 20 10:40:15.861 EST: [1/0/0] htsp_set_caller_id_rx:BELLCORE Nov 20 10:40:15.861 EST: htsp_timer - 10000 msec Nov 20 10:40:17.757 EST: [1/0/0, FXOLS_RINGING, E_DSP_SIG_0100] Nov 20 10:40:17.757 EST: fxols_ringing_not Nov 20 10:40:17.761 EST: htsp_timer_stop Nov 20 10:40:17.761 EST: htsp_timer - 10000 msec Nov 20 10:40:18.925 EST: [1/0/0] htsp_stop_caller_id_rx Nov 20 10:40:21.857 EST: [1/0/0, FXOLS_RINGING, E_DSP_SIG_0000] Nov 20 10:40:23.857 EST: [1/0/0, FXOLS_RINGING, E_DSP_SIG_0100] Nov 20 10:40:23.857 EST: fxols_ringing_not Nov 20 10:40:23.861 EST: htsp_timer_stop htsp_setup_ind Nov 20 10:40:23.861 EST: [1/0/0] get_fxo_caller_id:Caller ID received. Message type=128 length=31 checksum=74 Nov 20 10:40:23.861 EST: [1/0/0] Caller ID String 80 1C 01 08 31 31 32 30 31 35 34 30 02 07 35 35 35 31 32 31 32 07 07 4F 7574 73 69 64 65 74 Nov 20 10:40:23.865 EST: [1/0/0] get_fxo_caller_id calling num=5551212 calling name=Outside calling time=11/20 15:40 Nov 20 10:40:23.869 EST: [1/0/0, FXOLS_WAIT_SETUP_ACK, E_HTSP_SETUP_ACK] Nov 20 10:40:23.873 EST: fxols_wait_setup_ack: Nov 20 10:40:23.873 EST: [1/0/0] set signal state = 0xC timestamp = 0 Nov 20 10:40:23.985 EST: [1/0/0, FXOLS_PROCEEDING, E_DSP_SIG_0100] fxols_proceed_clear Nov 20 10:40:23.985 EST: htsp_timer_stop2 Nov 20 10:40:24.097 EST: [1/0/0, FXOLS_PROCEEDING,E_DSP_SIG_0110] fxols_rvs_battery Nov 20 10:40:24.097 EST: htsp_timer_stop2 Nov 20 10:40:24.733 EST: [1/0/0, FXOLS_PROCEED_RVS_BT,E_HTSP_PROCEEDING] fxols_offhook_proc Nov 20 10:40:24.733 EST: htsp_timer - 120000 msec Nov 20 10:40:24.745 EST: [1/0/0, FXOLS_PROCEED_RVS_BT,E_HTSP_VOICE_CUT_THROUGH] fxols_proc_voice |
Nota: le righe di questo output che si trovano su più di una riga vengono visualizzate come un'unica riga nell'output di debug.