In questo documento vengono illustrati i problemi relativi alla qualità della voce, ad esempio i sibili o i suoni statici osservati durante una conversazione vocale. Questo documento offre anche suggerimenti per risolvere questi problemi di qualità vocale.
Questo documento è utile per conoscere i seguenti argomenti:
Una conoscenza di base del VoIP (Voice over IP).
Voice Activity Detection (VAD) e la relativa applicazione.
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware.
Software Cisco IOS® versione 12.1 e successive con funzionalità IP Plus.
Tutti i Cisco Voice Gateway.
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.
La maggior parte dei sistemi di telefonia IP include un rilevatore di attività vocale. Lo scopo del rilevatore è quello di rilevare i periodi di silenzio nel segnale vocale e interrompere temporaneamente la trasmissione del segnale durante il periodo di silenzio. Ciò consente di risparmiare larghezza di banda e permette all'estremità remota di regolare il proprio buffer jitter. Il lato negativo è che durante i periodi di silenzio, il telefono più lontano deve generare il proprio segnale per ascoltare l'ascoltatore. Di solito, il rumore di comfort viene trasmesso all'ascoltatore per mascherare l'assenza di un segnale audio dall'estremità remota. Il rumore di comfort è in genere modellato sul rumore di fondo in modo che non vi sia un contrasto netto quando si passa dal rumore di fondo effettivo al rumore di comfort.
Nella figura 1 viene mostrato un tipico sistema di telefonia IP. I dispositivi voce IP a cui si fa riferimento possono essere telefoni IP, gateway analogici IP, gateway digitali IP e così via.
Figura 1: Sistema di telefonia IP
Durante una chiamata tra il dispositivo A e il dispositivo B, il dispositivo A raggiunge un intervallo di silenzio (Figura 2). Il rilevatore di attività della voce utilizza un algoritmo per determinare se è stato raggiunto un intervallo di silenzio. In genere, il rilevatore dell'attività della voce ha un periodo di tempo di attesa t1 alla fine di ogni burst vocale. Durante questo periodo continua a inviare pacchetti all'estremità remota. In questo modo si evita un'eccessiva commutazione e un discorso discontinuo. Se durante l'intervallo di mantenimento viene rilevato ulteriore riconoscimento vocale, il flusso vocale tra i dispositivi continua ininterrotto. Trascorso un periodo di lunghezza t1 (T2 nella Figura 2 ), il dispositivo voce IP A interrompe l'invio dei pacchetti se non viene rilevata alcuna voce aggiuntiva.
Figura 2: Eventi dispositivo A VAD
Al tempo T1 (Figura 2), viene inviata un'indicazione al dispositivo B che lo avvisa del fatto che il VAD Holder sta avviando. Contiene inoltre la durata del mantenimento del VAD. Quando si riceve questo messaggio, il dispositivo B inizia ad attenuare il segnale vocale che riceve dal dispositivo A e lo combina con il rumore di comfort generato che dovrebbe attenuare verso l'alto (come nella Figura 3).
Figura 3: Attenuazione del rumore di fondo vs. rumore di comfort durante il periodo di mantenimento
Questa attenuazione fornisce una transizione graduale tra il rumore di fondo reale e il rumore di comfort generato. Rende le transizioni da ambienti in cui le caratteristiche del rumore di fondo sono molto diverse da quelle del rumore di comfort generato più fluide e meno evidenti. La lunghezza dell'intervallo di mantenimento VAD (t1) determina l'efficacia di questa tecnica. Intervalli più lunghi producono transizioni di suono più uniformi.
Se il segnale vocale interrompe prima del tempo T2 (Figura 2), l'attenuazione viene arrestata immediatamente e viene riprodotto l'audio in ingresso a scala completa. Tale cut-in dovrebbe essere segnalato tramite un'altra indicazione dal dispositivo A al dispositivo B. Poiché il segnale vocale è significativamente più forte del rumore di fondo, maschera la transizione all'indietro e non è così evidente.
La segnalazione sopra menzionata può essere in banda (ad esempio, tramite un nuovo tipo di payload in RTP o un evento di segnalazione denominato) o fuori banda (ad esempio, un evento di segnalazione H.245).
L'unica causa dell'udito di un suono sibilante o statico durante una chiamata vocale è l'introduzione del rumore di conforto in una conversazione. Ci sono due possibilità a cui il rumore di comfort viene iniettato in una chiamata vocale. Il primo è l'uso del VAD. Ogni volta che viene introdotto il VAD, nel flusso audio vengono introdotti pacchetti di disturbo. La seconda possibilità (che non è un contributo importante) è il lancio della cancellazione dell'eco. Ogni volta che la cancellazione dell'eco diventa attiva, nel flusso audio vengono introdotti pacchetti di disturbo. Le caratteristiche di questi pacchetti sono determinate tramite un algoritmo che include il monitoraggio della voce in corso e la ricezione di una firma del rumore di fondo. Questo rumore di conforto è il fischio.
In questo scenario, se il dispositivo A si interrompe, il dispositivo B può sperimentare dei fischi. A tale scopo, è possibile regolare correttamente i parametri del VAD. Cisco consiglia di disabilitare VAD se l'ottimizzazione di questi parametri non risolve il problema.
La funzionalità VAD è determinata da due parametri:
Viene decisa una soglia iniziale che determina quando il VAD diventa attivo. Questa condizione viene controllata quando si definisce il comando music-threshold <threshold_value> su una porta voce. L'intervallo valido è compreso tra -70 dBm e -30 dBm. Il valore predefinito è -38 dBm. Se si configura un valore più basso (verso -70 dBm), la funzione VAD diventa attiva a un livello del segnale molto più basso. Il volume deve scendere molto basso prima di essere considerato come silenzio. Se si configura un valore più alto (vicino a -30 dBm), il VAD diventa attivo anche per una piccola perdita di potenza del segnale vocale. Questo porta il playout a riprodurre i pacchetti di rumore di comfort più spesso. Tuttavia, questo può portare a ritagli audio minori.
3640-6#configure terminal Enter configuration commands, one per line. End with CNTL/Z. 3640-6(config)#voice-port 3/0/0 3640-6(config-voiceport)#music-threshold ? !--- WORD: Enter a number between -70 to -30. 3640-6(config-voiceport)#music-threshold -50 3640-6(config-voiceport)#end 3640-6# 3640-6#show run | begin voice-port voice-port 3/0/0 music-threshold -50
Una volta attivato il VAD, è possibile controllare il componente del rumore di fondo e del rumore di comfort quando si configura il comando voice vad-time <timer_value> in modalità di configurazione globale. Questo è il tempo di ritardo in millisecondi per il rilevamento del silenzio e la soppressione della trasmissione di pacchetti voce. Il valore predefinito per il tempo di ritenzione è 250 msec. Ciò significa che entro 250 msec, il rumore di comfort entra completamente. L'intervallo per questo timer è da 250 msec a 65.536 msec. Se viene configurato un valore elevato, il rumore di fondo entra in gioco molto più tardi (il rumore di fondo continua a essere riprodotto). Se questa impostazione è configurata per 65.536 msec, il rumore ambientale viene disattivato. Un valore più alto per questo timer è desiderato per una transizione più fluida tra rumore di fondo e rumore di comfort. Gli svantaggi di una configurazione ad alta velocità non consentono di ottenere il 30-35% di risparmio della larghezza di banda desiderato.
3640-6#configure terminal Enter configuration commands, one per line. End with CNTL/Z. 3640-6(config)#voice vad-time ? <250-65536>milliseconds 3640-6(config)#voice vad-time 750 3640-6(config)#end 3640-6# 3640-6# 3640-6# 3640-6#show run | begin vad-time voice vad-time 750
Nota: dopo aver configurato il VAD, usare i comandi shut e no shut sulla porta vocale per rendere effettive le modifiche alla configurazione.
Se si continua a osservare il sibilo e/o lo stato statico, anche dopo aver regolato i parametri menzionati in precedenza in questo documento, Cisco consiglia di disabilitare il protocollo VAD. Questa operazione deve essere eseguita sui gateway e sui Cisco CallManager. Nelle sezioni seguenti viene illustrato come disabilitare VAD sui gateway Cisco e Cisco CallManager.
Sui gateway Cisco con H.323, è possibile disabilitare il protocollo VAD quando si configura il comando no vad nei dial-peer VoIP. Se si tratta del gateway terminante, verificare che non sia configurato alcun vad sul dial-peer VoIP in ingresso corrispondente. Potrebbe essere utile configurare il numero chiamato <number_died> in ingresso in modo che corrisponda al dial-peer in ingresso appropriato. Per il gateway di origine, non è possibile configurare alcun vad sui dial-peer VoIP in base al quale i gateway di terminazione selettivi devono disattivare questa funzione.
dial-peer voice 100 voip incoming called-number !--- In order to match all called numbers destination-pattern 1T no vad session target ipv4:10.10.10.10 dtmf-relay h245-alpha ip precedence 5
Verificare che questi parametri in Cisco CallManager siano impostati su False (F) per disabilitare VAD su Cisco CallManager:
Soppressione del silenzio.
Eliminazione del silenzio per i gateway.
Per trovare questi parametri, effettuare i seguenti passaggi.
Scegliere Servizio > Parametri servizio dal menu Amministrazione di Cisco CallManager.
Dal menu a discesa Server, selezionare Cisco CallManager IP address or name e selezionare Cisco CallManager dal menu a discesa Services.
I parametri si trovano nella finestra Configurazione parametri di servizio.
Impostare i parametri Soppressione silenzio e Soppressione silenzio per gateway su False nella finestra di configurazione dei parametri del servizio, sotto i parametri a livello di cluster.
Fare clic su Update (Aggiorna) per disattivare VAD in Cisco CallManager. Questa procedura è simile per Cisco CallManager 3.3 e 4.0.