Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Objetivo de la función

Configurar

Diagrama de la red

Proceso de instalación

Después de la instalación, utilice la página Web de administración del sistema operativo

Después de la instalación, utilice la interfaz de línea de comandos

Troubleshoot

Datos que recopilar

Análisis de ejemplo

Revisión de PCAP para CUCM: sin archivo

Revisión de PCAP para CUCM - Con archivo

Revisión de la salida CLI para CUCM

Otras consideraciones

Información Relacionada

Introducción

Este documento describe el protocolo de tiempo de red (NTP) para Cisco Unified Communications Manager (CUCM).

Prerequisites

Requirements

No hay requisitos específicos para este documento.

Componentes Utilizados

Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Objetivo de la función

Este documento cubre el propósito de NTP con CUCM, la configuración de NTP, qué datos recopilar para resolver problemas, un análisis de ejemplo de los datos y los recursos relacionados para una investigación adicional.

El propósito del NTP con CUCM es garantizar que los servidores conocen la hora correcta. El tiempo en los servidores de CUCM es importante porque el protocolo de voz sobre Internet (VOIP) es extremadamente sensible a las variaciones de tiempo. El clúster de CUCM debe mantener una sincronización horaria que permanezca cerca de los otros servidores del clúster, debido a los requisitos de replicación de la base de datos.

Por último, el tiempo para solucionar problemas es importante ya que desea tener las marcas de tiempo correctas en los registros.

Configurar

Es importante tener en cuenta que CUCM requiere ciertos servidores NTP.

El servidor NTP de Windows no es compatible con CUCM; sin embargo, se aceptan otros tipos, como fuentes NTP de Linux, fuentes NTP de Cisco IOS® y fuentes NTP de Nexus OS. Aunque otras soluciones de Cisco pueden utilizar servidores Windows para la solución NTP, las soluciones de UC como CallManager, Cisco Unity y Instant Messaging and Presence no pueden hacerlo y requieren una solución NTP basada en Linux o en Cisco IOS®. Esto se debe a que los Servicios de hora de Windows utilizan a menudo SNTP con el que los sistemas Linux tienen dificultades para sincronizarse.

Diagrama de la red

El editor de CUCM necesita un origen NTP que no sea miembro del clúster de CUCM; por lo tanto, el editor de CUCM sincroniza su tiempo con el servidor NTP. En este intercambio, el editor de CUCM es un cliente NTP.

Los suscriptores de CUCM sincronizan su tiempo con el editor de CUCM. En este intercambio, el editor de CUCM es un servidor NTP donde los suscriptores de CUCM son clientes NTP.

Precaución: tenga en cuenta que los servidores de mensajería instantánea y presencia (IM&P) de Cisco también se consideran suscriptores del clúster de CUCM y, por tanto, también dependen del NTP de CUCM. En otras palabras, si el NTP no está sincronizado en el servidor IM&P, causa problemas en el sistema con la replicación de la base de datos y la alta disponibilidad.

Proceso de instalación

Cuando se instala CUCM, se muestra un mensaje para determinar si el servidor es el primer nodo del clúster.

Si el servidor no es el primer nodo del clúster, el asistente de instalación pasa la fase de configuración de NTP; sin embargo, se le solicitarán los servidores NTP si son el primer nodo del clúster.

Después de la instalación, utilice la página Web de administración del sistema operativo

Después de la instalación, utilice la interfaz de línea de comandos

Como se muestra en las imágenes, puede encontrar los comandos utilizados para acceder y modificar los servidores NTP dentro del servidor CUCM.

- El comando utils ntp server list muestra los servidores NTP configurados en su sistema.

- El comando utils ntp server add ntp_address agrega un nuevo servidor NTP al sistema.

Nota: Tenga en cuenta que si desea agregar un nuevo servidor NTP, el servidor de CUCM comprueba la disponibilidad antes de agregarlo; si falla, aparece el siguiente error.

- El comando utils ntp server delete permite eliminar cualquiera de los NTP ya configurados en el sistema.

Troubleshoot

Datos que recopilar

Cuando resuelve un problema de NTP, necesita recopilar estos datos de cualquier servidor de CUCM que tenga los problemas de NTP:

- El resultado de la prueba de diagnóstico de utils de comando

- El resultado del estado de utils ntp

- Los registros de NTP de CUCM recopilados de la herramienta Cisco Real-Time Monitor Tool (RTMT)

Análisis de ejemplo

Por ejemplo, se ha utilizado la siguiente información del publicador de CUCM y NTP:

Publicador de CUCM

Versión: 11.5(1) SU5

FQDN: cucm-115.home.lab

La dirección IP comienza con 192.X.X.X

NTP

Desde el servidor NTP de Google

FQDN: time1.example.com.ntp

La dirección IP comienza con 216.X.X.X

Revisión de PCAP para CUCM: sin archivo

Observe que el número de puerto es 123. Este es el puerto para NTP. En el resultado del comando en el cuadro de texto, puede ver que la versión de NTP es 4, como se indica en "NTPv4". También puede tomar nota del editor, que actúa como cliente cuando establece su comunicación con "time1.example.com"; sin embargo, funciona como servidor cuando establece comunicación con cucm-sub1, cucm-sub2 y cucm-sub3.

From the CLI of the publisher run the command "utils network capture port 123"

Wait until you see traffic (this can take a little time, or it may be instant) then hit

ctrl+c. Look in the traffic to find where your publisher is communicating with its NTP

server and the NTP server is communication with the publisher (if the NTP server isn't

replying then it is an issue in the network or with the NTP server). The primary focus of

this output is the NTP version. In CUCM 9 and later NTP version 3 (NTPv3) can cause issues

and an NTP source using NTPv4 should be the NTP server for the publisher.

admin:utils network capture size all count 10000000 port 123

Executing command with options:

size=128                count=1000              interface=eth0

src=dest=                   port=123

ip=

16:08:43.199710 IP cucm-sub3.home.lab.39417 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:08:43.199737 IP cucm-115.home.lab.ntp > cucm-sub3.home.lab.39417: NTPv4, Server, length 48

16:08:43.199823 IP cucm-sub3.home.lab.39417 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:08:43.199859 IP cucm-115.home.lab.ntp > cucm-sub3.home.lab.39417: NTPv4, Server, length 48

16:09:01.640980 IP cucm-115.home.lab.50141 > time1.example.com.ntp: NTPv4, Client, length 48

16:09:01.654675 IP time1.example.com.ntp > cucm-115.home.lab.50141: NTPv4, Server, length 48

16:09:01.654733 IP cucm-115.home.lab.50141 > time1.example.com.ntp: NTPv4, Client, length 48

16:09:01.667368 IP time1.example.com.ntp > cucm-115.home.lab.50141: NTPv4, Server, length 48

16:09:01.668612 IP cucm-115.home.lab.50141 > time1.example.com.ntp: NTPv4, Client, length 48

16:09:01.681366 IP time1.example.com.ntp > cucm-115.home.lab.50141: NTPv4, Server, length 48

16:09:01.681518 IP cucm-115.home.lab.50141 > time1.google.com.ntp: NTPv4, Client, length 48

16:09:01.694108 IP time1.google.com.ntp > cucm-115.home.lab.50141: NTPv4, Server, length 48

16:09:01.875016 IP cucm-115.home.lab.48422 > time1.google.com.ntp: NTPv4, Client, length 48

16:09:01.884476 IP cucm-sub3.home.lab.58072 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:09:01.884568 IP cucm-115.home.lab.ntp > cucm-sub3.home.lab.58072: NTPv4, Server, length 48

16:09:01.884954 IP cucm-sub3.home.lab.58072 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:09:01.884999 IP cucm-115.home.lab.ntp > cucm-sub3.home.lab.58072: NTPv4, Server, length 48

16:09:01.885381 IP cucm-sub3.home.lab.58072 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:09:01.885423 IP cucm-115.home.lab.ntp > cucm-sub3.home.lab.58072: NTPv4, Server, length 48

16:09:01.886147 IP cucm-sub3.home.lab.58072 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:09:01.886184 IP cucm-115.home.lab.ntp > cucm-sub3.home.lab.58072: NTPv4, Server, length 48

16:09:01.888555 IP time1.google.com.ntp > cucm-115.home.lab.48422: NTPv4, Server, length 48

16:09:01.888642 IP cucm-115.home.lab.48422 > time1.google.com.ntp: NTPv4, Client, length 48

16:09:01.900926 IP time1.google.com.ntp > cucm-115.home.lab.48422: NTPv4, Server, length 48

16:09:01.901017 IP cucm-115.home.lab.48422 > time1.google.com.ntp: NTPv4, Client, length 48

16:09:01.913497 IP time1.google.com.ntp > cucm-115.home.lab.48422: NTPv4, Server, length 48

16:09:01.913566 IP cucm-115.home.lab.48422 > time1.google.com.ntp: NTPv4, Client, length 48

16:09:01.926693 IP time1.google.com.ntp > cucm-115.home.lab.48422: NTPv4, Server, length 48

16:09:02.038981 IP cucm-sub2.home.lab.42078 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:09:02.039117 IP cucm-115.home.lab.ntp > cucm-sub2.home.lab.42078: NTPv4, Server, length 48

16:09:02.039281 IP cucm-sub2.home.lab.42078 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:09:02.039345 IP cucm-115.home.lab.ntp > cucm-sub2.home.lab.42078: NTPv4, Server, length 48

16:09:02.039434 IP cucm-sub2.home.lab.42078 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:09:02.039535 IP cucm-115.home.lab.ntp > cucm-sub2.home.lab.42078: NTPv4, Server, length 48

16:09:02.039607 IP cucm-sub2.home.lab.42078 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:09:02.039814 IP cucm-115.home.lab.ntp > cucm-sub2.home.lab.42078: NTPv4, Server, length 48

16:09:02.066544 IP cucm-sub1.home.lab.46400 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:09:02.066622 IP cucm-115.home.lab.ntp > cucm-sub1.home.lab.46400: NTPv4, Server, length 48

16:09:02.066751 IP cucm-sub1.home.lab.46400 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:09:02.066892 IP cucm-115.home.lab.ntp > cucm-sub1.home.lab.46400: NTPv4, Server, length 48

16:09:02.066968 IP cucm-sub1.home.lab.46400 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:09:02.067104 IP cucm-115.home.lab.ntp > cucm-sub1.home.lab.46400: NTPv4, Server, length 48

16:09:02.067155 IP cucm-sub1.home.lab.46400 > cucm-115.home.lab.ntp: NTPv4, Client, length 48

16:09:02.067189 IP cucm-115.home.lab.ntp > cucm-sub1.home.lab.46400: NTPv4, Server, length 48

Revisión de PCAP para CUCM - Con archivo

El filtro utilizado para resolver el problema NTP en la captura de paquetes es: udp.port == 123. Con ese filtro, se puede ver que el editor de CUCM estableció comunicación con el servidor de Google NTP y que el editor de CUCM también se comunicó con los suscriptores de CUCM.

Revisión de la salida CLI para CUCM

utils ntp status output

NOTE: All nodes will show the current time in UTC regardless of the time zone of the server

(listed in UTC time). This makes it easy to compare times on the different CUCM nodes.

NOTE: If there is a time difference of 15 minutes or more, it is expected that DB replication

will be broken

1) If the publisher is ahead by 15 minutes, this can result in the pub send data to the

sub and the sub would have a delay to process the data because it has not yet reached the time

in the timestamp of the packets from the publisher (this is expected behavior in this type of situation)

2) If  the subscriber is ahead by 15 minutes, this would result in the subscriber drop

the data from the publisher because the subscriber sees it as old data (15 minutes old)

admin:utils ntp status

ntpd (pid 28435) is running...

remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

203.0.113.0    .GOOG.           1 u   44   64    3   11.724   -0.021   0.064

unsynchronised

polling server every 8 s

Current time in UTC is : Fri Sep  6 20:54:50 UTC 2019

Current time in America/New_York is : Fri Sep  6 16:54:50 EDT 2019

admin:

Lea la siguiente información, ya que explica la salida anterior en detalle.

The very first column contains the "tally code" character. Short overview:

* the source you are synchronized to (syspeer)

# source selected, distance exceeds maximum value

o the PPS(Pulse Per Second) source if your ntpd (ppspeer, only if you have a PPS capable system and refclock)

+ candidate, i.e. it is considered a good source

- outlyer, i.e. quality is not good enough

x falseticker, i.e. this one is considered to distribute bad time

blank: source discarded, failed sanity

See the Select field of the Peer status word on the NTP Event Messages and

Status Words page for more information on the tally codes.

remote

the hostname or IP of the remote machine.

refid

the identification of the time source to which the remote machines is synced.

May be (for example) a radio clock or another ntp server)

st

the stratum of the remote machine. 16 is "unsynchronized". 0 is the best

value, that could be (for example) a radio clock or the ntp servers private

caesium clock (see http://www.eecis.udel.edu/~mills/ntp/html/index.html#intro

for more information about ntp in general).

t

types available:

l = local (such as a GPS, WWVB)

u = unicast (most common)

m = multicast

b = broadcast

- = netaddr

when

how many seconds since the last poll of the remote machine.

poll

the polling interval in seconds.

reach

an 8-bit left-rotating register. Any 1 bit means that a "time packet" was

received. The right most bit indicate the status of the last connection

with the NTP server. It is Octal number. Use calculator in progammer

interface to translate from OCT to BIN: For example 377 translates to

11111111. Each 1 means a successful connection to the NTP server. If you

just start a NTP service, and it connects successfully with its server, this

number will change as follows (if connectivity is good):

00000001 = 001

00000011 = 003

00000111 = 007

00001111 = 017

00011111 = 037

00111111 = 077

01111111 = 177

11111111 = 377

delay

the time delay (in milliseconds) to communicate with the remote.

offset

the offset (in milliseconds) between our time and that of the remote.

jitter

the observed jitter (in milliseconds) of time with the remote.

Resultados de la prueba de diagnóstico Utils

admin:utils diagnose test

Log file: platform/log/diag1.log

Starting diagnostic test(s)

===========================

test - disk_space          : Passed (available: 6463 MB, used: 12681 MB)

skip - disk_files          : This module must be run directly and off hours

test - service_manager     : Passed

test - tomcat              : Passed

test - tomcat_deadlocks    : Passed

test - tomcat_keystore     : Passed

test - tomcat_connectors   : Passed

test - tomcat_threads      : Passed

test - tomcat_memory       : Passed

test - tomcat_sessions     : Passed

skip - tomcat_heapdump     : This module must be run directly and off hours

test - validate_network    : Passed

test - raid                : Passed

test - system_info         : Passed (Collected system information in diagnostic log)

test - ntp_reachability    : Passed

test - ntp_clock_drift     : Passed

test - ntp_stratum         : Passed

skip - sdl_fragmentation   : This module must be run directly and off hours

skip - sdi_fragmentation   : This module must be run directly and off hours

Diagnostics Completed

The final output will be in Log file: platform/log/diag1.log

Please use 'file view activelog platform/log/diag1.log' command to see the output

admin:

Si NTP falla en la salida de la prueba de diagnóstico de utilidades, verá algo similar a esto:

admin:utils diagnose test

Log file: platform/log/diag1.log

Starting diagnostic test(s)

===========================

test - disk_space          : Passed (available: 6463 MB, used: 12681 MB)

skip - disk_files          : This module must be run directly and off hours

test - service_manager     : Passed

test - tomcat              : Passed

test - tomcat_deadlocks    : Passed

test - tomcat_keystore     : Passed

test - tomcat_connectors   : Passed

test - tomcat_threads      : Passed

test - tomcat_memory       : Passed

test - tomcat_sessions     : Passed

skip - tomcat_heapdump     : This module must be run directly and off hours

test - validate_network    : Passed

test - raid                : Passed

test - system_info         : Passed (Collected system information in diagnostic log)

test - ntp_reachability    : Warning

The NTP service is restarting, it can take about 5 minutes.

test - ntp_clock_drift     : Warning

The local clock is not synchronised.

None of the designated NTP servers are reachable/functioning or legitimate.

test - ntp_stratum         : Warning

The local clock is not synchronised.

None of the designated NTP servers are reachable/functioning or legitimate.

skip - sdl_fragmentation   : This module must be run directly and off hours

Confirme que el NTP era correcto en el momento de la instalación. Ejecute el comando:

run sql select pkid,name,dbinfo('utc_to_datetime', cdrtime) as CDRTIME from device where cdrtime > getCurrTime()

Este comando compara la hora actual con la hora cdrtime (cuando se modificó la tabla). Si utilizó un NTP incorrecto en la instalación/actualización y luego corrigió el NTP, la base de datos se desincroniza cada vez que se realiza un cambio. Este problema no se vería cuando ejecuta los comandos típicos de NTP (por ejemplo, utils ntp status) porque se ha alejado del origen de NTP incorrecto a uno bueno.

Sería bueno que se alejara del NTP malo a uno bueno; sin embargo, un movimiento a un buen origen NTP no arreglaría las tablas que se crearon durante la instalación/actualización.

Cuando se ejecuta este comando, el resultado esperado es el siguiente:

admin:run sql select pkid,name,dbinfo('utc_to_datetime', cdrtime) as CDRTIME  from device where cdrtime > getCurrTime()

pkid name cdrtime

==== ==== =======

admin:

Si tiene un resultado similar al siguiente, es una señal de que el NTP utilizado para la instalación/actualización no se ha utilizado y ha causado problemas que afectan a la replicación de la base de datos:

admin:run sql select pkid,name,dbinfo('utc_to_datetime', cdrtime) as CDRTIME from device where cdrtime > getCurrTime()

pkid                                    name          cdrtime

=============================           =====         =====================

bf80dd31-9911-43ce-81fd-a99ec0333fb5    MTP_2         2016-09-11 14:38:14.0

4c38fc05-760d-4afb-96e8-69333c195e74    CFB_2         2016-09-11 14:38:14.0

90878c80-e213-4c7e-82b9-6c780aac72f3    ANN_2         2016-09-11 14:38:14.0

08b5bff4-da94-4dfb-88af-ea9ffa96872c    MOH_2         2016-09-11 14:38:14.0

93320e4d-1b73-4099-9a7c-c4cddfadb5d9    MTP_3         2016-09-11 14:38:14.0

a6850d42-5f0a-49ce-9fa3-80d45b800e23    CFB_3         2016-09-11 14:38:14.0

9963c9cb-58b0-4191-93e1-8676584f6461    ANN_3         2016-09-11 14:38:14.0

def79fb7-c801-4fb3-85fb-4e94310bf0bd    MOH_3         2016-09-11 14:38:14.0

4cd64584-089b-4331-9291-79774330cbc     2 MTP_4       2016-09-11 14:38:14.0

27b18882-db83-4d14-8bce-d3f8dc439610    CFB_4         2016-09-11 14:38:14.0

a40da882-e04f-4649-b2eb-2f79d1289e81    ANN_4         2016-09-11 14:38:14.0

36575ff4-cdea-4945-87e7-638cc555463e    MOH_4         2016-09-11 14:38:14.0

Otras consideraciones

1) Si actualiza los hosts de ESXi sin tener en cuenta las consideraciones de hardware de VM, puede experimentar problemas de NTP.

2) Asegúrese de que la versión de ESXi cumple con la matriz de virtualización.

3) Asegúrese de que la versión de ESXi y la versión de hardware sean compatibles

Información Relacionada

- Asistencia técnica y documentación - Cisco Sistemas

- Cisco Collaboration System 10.x Solution Reference Network Designs (SRND)

- Cambio del origen NTP en CUCM desde CLI y otra información útil

- Resolución de problemas de NTP en Cisco Unified Communications Manager

- Protocolo de tiempo de la red: informe técnico sobre prácticas recomendadas

- Captura de paquetes en el modelo de dispositivo CUCM