Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Descripción general de CUE JTAPI Integration con CUCM

Ejemplo de Flujo de Llamada de Alto Nivel

Habilitación y recopilación de rastros

Seguimientos de CCN de JTAPI en tiempo real

Registros de seguimiento de CCN de JTAPI

Recopilación de los Archivos de Registro de Seguimiento

Detalles obligatorios antes de comprobar los registros

Conceptos básicos de CTI

Estados de llamada comunes de CTI

Aspecto de los registros de seguimiento

Registro de puerto y RP de CTI

Llamada básica reenviada al buzón de voz

Nueva llamada y redirección al puerto disponible

Nueva llamada y redirección al puerto disponible

Nueva llamada al puerto CTI

El puerto CTI acepta la llamada redirigida

Negociación de medios

Desconexión de llamada

Señalización MWI On/Off

CUE activa la lámpara MWI para la línea 3001

Número DTMF marcado '3' para eliminar el mensaje del buzón

CUE desactiva la luz MWI para la línea 3001

Registros CCN en tiempo real

Configuración de llamadas

Desconexión de llamada

Solución de problemas de casos prácticos

Inconvenientes de conectividad

Usuario no habilitado para CTI

CUCM CTI Manager Service está inactivo

Discordancia de configuración

Problema de ruteo de llamada de CUCM

Lista de comprobación para la resolución de problemas de registro de puertos

Información Relacionada

Introducción

Este documento proporciona información sobre cómo resolver problemas de Cisco Unity Express (CUE) Java Telephony Application Programming Interface (JTAPI). Además, este documento proporciona la información y los comandos sobre cómo habilitar, recopilar y ver los diferentes seguimientos y registros con ejemplos de casos prácticos de solución de problemas.

Prerequisites

Requirements

Cisco recomienda que tenga conocimiento sobre estos temas:

- Conocimientos básicos sobre cómo configurar y utilizar Cisco Unified Communications Manager (CUCM) a través de la interfaz administrativa web.

- Familiaridad básica con puertos y puntos de ruta (RP) de interfaz de telefonía informática (CTI) en CUCM.

- Familiaridad básica con la interfaz de línea de comandos de Cisco Unity Express.

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- Cisco Unity Express versión 3.x o posterior.

- Cisco Unified Communications Manager versión 7.x o posterior.

El método de integración utilizado sólo se aplica a Cisco Unity Express con Cisco Unified Communications Manager; no con Cisco Unified Communications Manager Express (CUCME).

Cisco Unity Express debe tener una licencia para CUCM, no para CUCME. CUE puede integrarse con CUCM o CUCME en cualquier momento y obtener la licencia correspondiente.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Descripción general de CUE JTAPI Integration con CUCM

Es posible integrar CUE con CUCM a través del protocolo JTAPI para correo de voz (VM) y la funcionalidad de operador automático (AA). Esta solución se recomienda cuando desee aprovisionar las funciones de VM y/o el manejo de llamadas AA básico para una o varias sucursales con un número reducido de usuarios registrados en un servidor CUCM. Esto no requiere un servidor completo de correo de voz de Cisco Unity, sino una implementación mucho más asequible. Al mismo tiempo, CUE también proporciona opciones de supervivencia para sus sucursales y pasa al protocolo de inicio de sesión (SIP) cuando se pierde la conectividad con CUCM.

CUE puede registrarse en CUCM a través de JTAPI y controla los puntos de ruta CTI y los puertos CTI. Esto le permite controlar y administrar el CUE como terminal adicional a través de CUCM, así como facilitar las configuraciones e interacciones con otros terminales del clúster.

Ejemplo de Flujo de Llamada de Alto Nivel

El usuario final con número de directorio (DN) 1005 llama al usuario con DN 1001. La llamada se reenvía después de unos segundos si la llamada no se contesta, Desvío de llamada sin respuesta (CFNA), al número de máquina virtual configurado en el perfil de máquina virtual del usuario 1001. A continuación, CUCM envía la llamada al VM Pilot 5000 configurado, que señala a un CTI RP con DN 5000 controlado por CUE. Se activa la aplicación CUE VM y la llamada se redirige a través de JTAPI a un puerto CTI disponible (DN 5501) para el establecimiento de medios. Se reproduce el saludo de audio y el usuario puede dejar un mensaje o interactuar con el sistema a través de tonos de multifrecuencia de tono dual (DTMF). Cuando la persona que llama finaliza la llamada, el CUE indica al CUCM que establezca la luz Indicador de mensaje en espera (MWI) para la extensión 1001 en "On" a través de JTAPI. A continuación, CUCM envía el mensaje Skinny Client Control Protocol (SCCP) para encender la luz del teléfono, así como para mostrar la indicación del sobre en la pantalla de modo que el usuario 1001 sea consciente de que hay un nuevo mensaje de VM en el buzón.

Habilitación y recopilación de rastros

Hay dos tipos de seguimientos:

- Seguimientos de Cisco Communications Network (CCN) de JTAPI en tiempo real

- Registros de seguimiento de CCN JTAPI

Seguimientos de CCN de JTAPI en tiempo real

- Seguimientos de CCN JTAPI en tiempo real. (La habilitación de estos seguimientos no requiere una recarga del módulo CUE.)

- El resultado no es tan extenso como los registros de seguimiento de CCN, pero tampoco son muy informativos.

Ingrese estos comandos para habilitar los seguimientos:

no trace all

trace ccn SubsystemJtapi all

Ingrese este comando para verificar que están habilitados:

CUE# show trace

MODULE           ENTITY          SETTING

ccn              SubsystemJtapi  ffffffff

Ingrese este comando para recolectar el resultado:

CUE# show trace buffer ?

containing        Only display events matching a regex pattern

long              Show long format

short             Show short format

tail              Wait for events and print them as they occur !!

Ingrese CTRL-C para detener el registro en tiempo real en la consola.

Registros de seguimiento de CCN de JTAPI

Se requiere una recarga del módulo CUE después de que se habiliten los registros de seguimiento CCN JTAPI para que se completen los registros. Estos registros, messages.log y atrace.log, pueden ser muy detallados o crípticos así como mucho más informativos y detallados. Hay cuatro registros diferentes:

- atrace.log

- Habilitado de forma predeterminada en los módulos de red (NM), pero desactivado de forma predeterminada para los módulos de integración avanzada (AIM). Ingrese el comando log trace local enable para habilitar.

- Escribe hasta 10 Mb localmente o en un servidor FTP.

- Para reiniciar el registro, ingrese el comando log trace local disable o el comando no log trace local enable; luego ingrese el comando log trace local enable. Ingrese el comando clear trace file para borrar atrace.log.

- Los datos deben ser descodificados por el Technical Assistance Center (TAC).

- messages.log

- Estos son registros que contienen mensajes de Syslog, como Información, Advertencia, Error y Fatal.

- CiscoJtapi1.log y CiscoJtapi2.log

- Registran todos los eventos y señalización relacionados con JTAPI.

- Estos registros son mucho más fáciles de entender y muy informativos.

- CiscoJtapi2.log comienza a rellenarse cuando CiscoJtapi1.log se llena y viceversa.

Independientemente de los seguimientos establecidos, el sistema vuelve a los niveles de seguimiento predeterminados después de una recarga. Para cambiar estas configuraciones predeterminadas para que sobrevivan a un reinicio, debe ingresar el comando log trace boot. Este es el comando para habilitarlos:

CUE#(CONFIG)> log console info  !!

ccn trace jtapi deb all

ccn trace jtapi info all

ccn trace jtapi warn all

log trace boot

reload

Ingrese este comando para verificar que están habilitados:

CUE# show ccn trace jtapi

Warning:                                1

Informational:                          1

Jtapi Debugging:                        1

Jtapi Implementation:                   1

CTI Debugging:                          1

CTI Implementation:                     1

Protocol Debugging:                     1

Misc Debugging:                         1

Estos son los pasos para ver los registros:

1. Ingrese el comando show logs para ver una lista de los archivos de registro almacenados en la CUE.

2. La extensión de archivo .prev significa que se trata de una copia de seguridad de un archivo de seguimiento anterior y no del archivo de registro activo actual.

3. Puede extraerlos a un servidor FTP externo.

4. También puede ver el resultado de los mensajes que se registran en estos archivos en tiempo real desde el monitor de terminal de CUE.

Recopilación de los Archivos de Registro de Seguimiento

Extraiga los registros a un FTP externo con estos comandos:

copy log CiscoJtapi2.log url ftp://username:password@192.168.105.1/

copy log CiscoJtapi1.log url ftp://username:password@192.168.105.1/

copy log messages.log url ftp://username:password@192.168.105.1/

copy log atrace.log url ftp://username:password@192.168.105.1/

Visualice los registros en el monitor de terminal CUE con el comando show log name <logname>. Aquí tiene un ejemplo:

CUE# show log name messages.log ?

containing        Only display events matching a regex pattern

paged             Display in page mode

tail              Wait for events and print them as they occur

<cr>

El archivo atrace.log está codificado; por lo tanto, no puede visualizarlo solamente en tiempo real con el comando show log name.

Detalles obligatorios antes de comprobar los registros

Debe obtener, como mínimo, todos los detalles que se describen aquí a partir de las llamadas con el problema que está solucionando, de modo que pueda realizar un seguimiento y comprender fácilmente los seguimientos:

- Número que llama

- Número llamado

- Número de redirección

- DN y nombre de dispositivo CTI RP

- Número de puerto CTI y nombre del dispositivo

- usuario JTAPI

- Intervalo de tiempo de las llamadas realizadas

Conceptos básicos de CTI

Proveedor: Proveedor de servicios CTI. La aplicación establece una sesión CTI abriendo un proveedor.

Usuario: Las aplicaciones están asociadas a un usuario.

Dispositivo: Dispositivo que se registra en CUCM.

Línea: Apariencia de DN en un dispositivo compatible con CTI.

ID de llamada (callLegID): Asociado a un tramo de llamada en una llamada.

Llamada global (callID): Identifica todos los tramos de llamada para una sola llamada.

Estados de llamada comunes de CTI

state = 1               IDLE

state = 2               OFFERING

state = 3               ACCEPTED

state = 8               CONNECTED

Aspecto de los registros de seguimiento

Antes de poder encontrar una señalización incorrecta, primero debe saber cómo sería esta señalización en un funcionamiento normal; esta sección muestra fragmentos de los resultados de señalización que se verían en diferentes escenarios cuando funcionan normalmente.

Tenga en cuenta también que toda la señalización de estos registros se ha resumido para mostrar sólo los detalles pertinentes porque contienen información muy detallada que es bastante tediosa y repetitiva.

Estos son los detalles de las configuraciones utilizadas:

Jtapi User:                    tacjtapiuser

CUCM IP Address:               192.168.100.10

CUE CTI Route Point:           cue_vm_ctirp

CUE CTI Port:                  cue_ctiport1

CUE and Phone Partition:       cue_pt

IP Phone MAC:                  SEP0023331C29EC

CTI Route Point DN:            8000

CTI Port DN:                   8501

IP Phone DN:                   3001

Registro de puerto y RP de CTI

(Resultados de los registros CiscoJtapi1 / Cisco Jtapi2)

1. Abrir una conexión de proveedor

21: 12:05:23.686 CST %JTAPI-CTIIMPL-7-UNK.(P1-tacjtapiuser) ProviderID =

P1-tacjtapiuser

22: 12:05:23.739 CST %JTAPI-CTIIMPL-7-UNK.(P1-tacjtapiuser) Trying to

create normal socket connection to 192.168.100.10

23: 12:05:23.747 CST %JTAPI-CTIIMPL-7-UNK.(P1-tacjtapiuser) connected

26: 12:05:24.112 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.ProviderOpenRequest {

provider                   = 192.168.100.10

qbeClientVersion           = Cisco JTAPI 7.0(1.1000)-1 Release

login                      = com.cisco.cti.protocol.UnicodeString {

unicodedisplayName = tacjtapiuser

}

applicationID              = Cisco IP IVR

desiredServerHeartbeatTime = 30

pluginName                 = CiscoJTAPI

}

28: 12:05:24.131 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Response: com.cisco.cti.protocol.ProviderOpenResponse {

sequenceNumber     = 0

result             = 0

providerInfoString = 7.1.5.10000-12

clientHeartbeat    = 30

serverHeartbeat    = 30

pluginVersion      = 7.1.5.10000-2

pluginLocation     = http://192.168.100.10/plugins/

providerId         = 16777236

}

35: 12:05:24.858 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Event: com.cisco.cti.protocol.ProviderOpenCompletedEvent {

eventSequence       = 0

reason              = 0

providerInfoString  = 7.1.5.10000-12

clientHeartbeat     = 30

serverHeartbeat     = 30

failureDescription  = null

providerId          = 16777236

}

2. Consulta para dispositivos controlables

48: 12:05:24.864 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.ProviderGetDeviceInfoRequest {

sequenceNumber = 2

deviceGroup    = 1

}

49: 12:05:24.865 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Response: com.cisco.cti.protocol.ProviderGetDeviceInfoResponse {

sequenceNumber    = 2

result            = 0

}

50: 12:05:24.865 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.GetDeviceInfoFetchRequest {

sequenceNumber    = 3

}

51: 12:05:25.011 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Response: com.cisco.cti.protocol.GetDeviceInfoFetchResponse {

sequenceNumber = 3

result         = 0

info           = 2@[

com.cisco.cti.protocol.DeviceInfo {

name               = cue_ctiport1

type               = 72

allowsRegistration = true

deviceID           = 62

devTypeName        = CTI Port

},

com.cisco.cti.protocol.DeviceInfo {

name               = cue_vm_ctirp

type               = 73

allowsRegistration = true

deviceID           = 61

devTypeName        = CTI Route Point

}]

52: 12:05:25.012 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.GetDeviceInfoCloseRequest {

sequenceNumber    = 4

}

53: 12:05:25.013 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10)

received Response: com.cisco.cti.protocol.GetDeviceInfoCloseResponse {

sequenceNumber = 4

}

54: 12:05:25.013 CST %JTAPI-MISC-7-UNK.(P1-192.168.100.10)

creating controlled devices

3. Obtener información de línea de puerto CTI

55: 12:05:25.024 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.DeviceGetLineInfoRequest {

sequenceNumber = 5

deviceName     = cue_ctiport1

}

56: 12:05:25.026 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10)

received Response: com.cisco.cti.protocol.DeviceGetLineInfoResponse {

sequenceNumber    = 5

result            = 0

}

57: 12:05:25.026 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.GetLineInfoFetchRequest {

sequenceNumber    = 6

}

58: 12:05:25.029 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10)

received Response: com.cisco.cti.protocol.GetLineInfoFetchResponse {

sequenceNumber = 6

result         = 0

com.cisco.cti.protocol.LineInfo {

name                      = 8501

displayName               =

maxNumberOfCalls          = 4

lineInstance              = 1

unicodeDisplayName        = com.cisco.cti.protocol.UnicodeString {

}

partition                 = cue_pt

defaultIntercomTargetInfo = com.cisco.cti.protocol.LineIntercomSpeedDialInfo {

}]

59: 12:05:25.029 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.GetLineInfoCloseRequest {

sequenceNumber    = 7

}

60: 12:05:25.031 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10)

received Response: com.cisco.cti.protocol.GetLineInfoCloseResponse {

sequenceNumber = 7

result         = 0

}

61: 12:05:25.042 CST %JTAPI-CTI-7-UNK.(P1-tacjtapiuser)

DeviceMap: adding device "cue_ctiport1"

4. Obtener información de línea CTI RP
62: 12:05:25.043 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.DeviceGetLineInfoRequest {

sequenceNumber = 8

deviceName     = cue_vm_ctirp

}

63: 12:05:25.044 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10)

received Response: com.cisco.cti.protocol.DeviceGetLineInfoResponse {

sequenceNumber    = 8

result            = 0

}

64: 12:05:25.045 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.GetLineInfoFetchRequest {

sequenceNumber    = 9

}

65: 12:05:25.047 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10)

received Response: com.cisco.cti.protocol.GetLineInfoFetchResponse {

sequenceNumber = 9

result         = 0

info           = 1@[

com.cisco.cti.protocol.LineInfo {

name                      = 8000

displayName               =

permanentLineID           = 52

partition                 = cue_pt

defaultIntercomTargetInfo = com.cisco.cti.protocol.LineIntercomSpeedDialInfo {

unicodeLabel = com.cisco.cti.protocol.UnicodeString {

}

}

66: 12:05:25.048 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.GetLineInfoCloseRequest {

sequenceNumber    = 10

}

67: 12:05:25.058 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10)

received Response: com.cisco.cti.protocol.GetLineInfoCloseResponse {

sequenceNumber = 10

result         = 0

}

68: 12:05:25.059 CST %JTAPI-CTI-7-UNK.(P1-tacjtapiuser)

DeviceMap: adding device "cue_vm_ctirp"

69: 12:05:25.059 CST %JTAPI-CTI-7-UNK.(P1-192.168.100.10)

refreshing device map: previous=0 current=2 created=2 removed=0

5. CUE aplica la configuración recibida
76: 12:05:25.064 CST %JTAPI-MISC-7-UNK.Provider 192.168.100.10

open, beginning device

initialization

77: 12:05:25.071 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser)[SS_TEL_INIT]

(P1-tacjtapiuser) Request: addObserver

79: 12:05:25.073 CST %JTAPI-MISC-7-UNK.ObserverThread

(com.cisco.wf.subsystems.jtapi.SubsystemJTAPI$ProviderObserver@3d823d82):created

80:12:05:25.074 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser) ProvOutOfServiceEv [#0]

Cause:100 CallCtlCause:0 CiscoFeatureReason:12

82: 12:05:25.085 CST %JTAPI-MISC-7-

UNK.ObserverThread

(com.cisco.wf.subsystems.jtapi.SubsystemJTAPI$ProviderObserver@3d823d82):

queuing com.cisco.jtapi.JtapiProviderEventSet

83: 12:05:25.084 CST %JTAPI-MISC-7-UNK.(P1-192.168.100.10)

ProviderRetryThread starting up

85: 12:05:25.084 CST %JTAPI-MISC-7-UNK.ObserverThread

(com.cisco.wf.subsystems.jtapi.SubsystemJTAPI$ProviderObserver@3d823d82)

starting up...

90: 12:05:25.102 CST %JTAPI-JTAPIIMPL-7-UNK.Partition Support 8000 in

partitioncue_pt

91: 12:05:25.102 CST %JTAPI-JTAPIIMPL-7-UNK.(P1-tacjtapiuser) cue_vm_ctirp:

Address: 8000 in partitioncue_pt created

92: 12:05:25.102 CST %JTAPI-JTAPIIMPL-7-UNK.Partition Internal Address Added

8000 in Partition cue_pt

93: 12:05:25.102 CST %JTAPI-JTAPIIMPL-7-UNK.Partition Support 8501 in

partitioncue_pt

94: 12:05:25.103 CST %JTAPI-JTAPIIMPL-7-UNK.(P1-tacjtapiuser) cue_ctiport1:

Address: 8501 in partitioncue_pt created

95: 12:05:25.103 CST %JTAPI-JTAPIIMPL-7-UNK.Partition Internal Address Added

8501 in Partition cue_pt

96: 12:05:25.103 CST %JTAPI-MISC-7-UNK.Provider "(P1-tacjtapiuser)" changing

state to IN_SERVICE

97: 12:05:25.103 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser)[Thread-76]

(P1-tacjtapiuser) Request: getObservers

98: 12:05:25.103 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser) ProvInServiceEv [#1]

Cause:100 CallCtlCause:0 CiscoFeatureReason:12

100: 12:05:25.103 CST %JTAPI-MISC-7-UNK.ObserverThread

(com.cisco.wf.subsystems.jtapi.SubsystemJTAPI$ProviderObserver@3d823d82):

queuing com.cisco.jtapi.JtapiProviderEventSet

101: 12:05:25.103 CST %JTAPI-JTAPIIMPL-7-UNK.Provider 192.168.100.10

initialized 2 devices

104: 12:05:25.104 CST %JTAPI-JTAPIIMPL-7-UNK:

[com.cisco.wf.subsystems.jtapi.SubsystemJTAPI$ProviderObserver@3d823d82]

delivering to providerChangedEvent

106: 12:05:25.523 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser)[SS_TEL_INIT]

(P1-tacjtapiuser) Request: getAddress( 8501 )Partition = cue_pt

107: 12:05:25.526 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser)[SS_TEL_INIT]

[cue_ctiport1]Request: addObserver

(com.cisco.wf.subsystems.jtapi.TAPIPortGroup$Port$AddressCallObserver@5d085d08)

6. Obtenga el control de los dispositivos y líneas CTI

109: 12:05:25.528 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending:

com.cisco.cti.protocol.DeviceOpenRequest {

deviceName            = cue_ctiport1

}

110: 12:05:25.533 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10)

received Response:

com.cisco.cti.protocol.DeviceOpenResponse {

result         = 0

}

111: 12:05:25.533 CST %JTAPI-CTI-7-UNK.(P1-tacjtapiuser) DeviceMap: opening

device  "cue_ctiport1"

112: 12:05:25.533 CST %JTAPI-JTAPIIMPL-7-UNK.(P1-tacjtapiuser) Terminal

"cue_ctiport1" out of service

113: 12:05:25.534 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser) [cue_ctiport1]

CiscoTermOutOfServiceEv [#2] Cause:100 CallCtlCause:0 CiscoFeatureReason:12

119: 12:05:25.544 CST %JTAPI-JTAPIIMPL-7-UNK:Address [cue_ctiport1:8501:

cue_pt.(0,0)] out of service

120: 12:05:25.544 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser) [8501:cue_pt]

CiscoAddrOutOfServiceEv [#3] Cause:100 CallCtlCause:0 CiscoFeatureReason:12

121: 12:05:25.546 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.LineOpenRequest {

deviceName       = cue_ctiport1

lineName         = 8501

}

122: 12:05:25.582 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Response: com.cisco.cti.protocol.LineOpenResponse {

134: 12:05:25.670 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.LineCloseRequest {

135: 12:05:25.673 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Response: com.cisco.cti.protocol.LineCloseResponse {

138: 12:05:25.674 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.DeviceCloseRequest {

139: 12:05:25.681 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Response: com.cisco.cti.protocol.DeviceCloseResponse {

141: 12:05:25.683 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.DeviceRegisterDeviceRequest {

deviceName                = cue_ctiport1

142: 12:05:25.687 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Response: com.cisco.cti.protocol.DeviceRegisterDeviceResponse {

result         = 0

name               = cue_ctiport1

allowsRegistration = true

}

143: 12:05:25.687 CST %JTAPI-CTI-7-UNK.(P1-tacjtapiuser) DeviceMap: opening

device "cue_ctiport1"

150: 12:05:25.688 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.LineOpenRequest {

deviceName       = cue_ctiport1

lineName         = 8501

151: 12:05:25.690 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Response: com.cisco.cti.protocol.LineOpenResponse {

152: 12:05:25.691 CST %JTAPI-JTAPIIMPL-7-UNK:cue_ctiport1: Lines opened

153: 12:05:25.739 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Event: com.cisco.cti.protocol.DeviceRegisteredEvent {

deviceInfo       = com.cisco.cti.protocol.DeviceInfo {

allowsRegistration = true

controllable     = true

}

156: 12:05:25.739 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) Received

DeviceRegisteredEvent

160: 12:05:25.740 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Event: com.cisco.cti.protocol.DeviceInServiceEvent {

162: 12:05:25.741 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Event: com.cisco.cti.protocol.LineInServiceEvent {

}

Llamada básica reenviada al buzón de voz

(Resultados de los registros CiscoJtapi1 / Cisco Jtapi2)

Nueva llamada y redirección al puerto disponible

Nueva llamada y redirección al puerto disponible

12:46:00.396 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.NewCallEvent {

deviceName                        = cue_vm_ctirp

callLegID                         = 25626132

callID                            = 9040

callingParty                      = 3001

calledParty                       = 8000

callingPartyName                  = Ext 3001 - Phone

callingPartyDeviceName            = SEP0023331C29EC

unModifiedCalledParty             = 8000

unModifiedOriginalCalledParty     = 8000

unModifiedLastRedirectingParty    =

}

12:46:00.400 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.CallStateChangedEvent {

callLegID                         = 25626132

state                             = 2

reason                            = 1

}

12:46:00.402 CST %JTAPI-CTI-7-UNK.(P1-tacjtapiuser){Line:cue_vm_ctirp:8000:

cue_pt.(1,28)

|Call:[GCID=

(9040/1),CID=25626132]} NewCall [ state=OFFERING auxData=1 destCM=1 destType=

IN_CLUSTER unModifiedCg=3001

unModifiedCd=8000 unModifiedOriginalCd=8000 unModifiedLastRedirected= calling=3001

callingName=Ext 3001 -

Phone called=8000 calledName= origParty=8000 origName= lastRedirected=

lastRedirectedName= origin=INBOUNDINTERNAL reason=DIRECTCALL activeTone=0

deviceName=cue_vm_ctirp bRemoteInUse=false bPrivacy=false CallSelectStatus=0

CallingPartyPI=True CallingPartyDisplayNamePI=True CalledPartyPI=True

CalledPartyDisplayNamePI=True OriginalCalledPartyPI=True]

12:46:00.424 CST %JTAPI-JTAPIIMPL-7-UNK:{(P1-tacjtapiuser) GCID=(1,9040)->ACTIVE}

Initializing to OFFERING for 8000:cue_pt Cause=CAUSE_NORMAL Reason= 1

12:46:00.424 CST %JTAPI-JTAPI-7-UNK:[[3001:cue_pt/(P1-tacjtapiuser) GCID=

(1,9040)->ACTIVE]->IDLE]creating external connection for 3001:cue_pt

12:46:00.424 CST %JTAPI-JTAPI-7-UNK:{ CcnCall=Call:[GCID=(9040/1),CID=25626132]

Connection=[3001:cue_pt/(P1-tacjtapiuser) GCID=(1,9040)->ACTIVE]->IDLE: creating

new Connection for CCNCall }

12:46:00.425 CST %JTAPI-JTAPI-7-UNK:[9040/1]CallImpl.deliverEvents(): for all

1 observers

12:46:00.430 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser)[SS_TEL_ROUTE_CALL_EV][[

8000:cue_pt/(P1-tacjtapiuser) GCID=(1,9040)->ACTIVE]->OFFERED]Request: redirect

(8501, REDIRECT_NORMAL, DEFAULT_SEARCH_SPACE, CALLED_ADDRESS_UNCHANGED,

REDIRECT,8501,null,REDIRECT_WITHOUT_MODIFIED_CALLING_PARTY,1)

12:46:00.430 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10)

[SS_TEL_ROUTE_CALL_EV] sending: com.cisco.cti.protocol.CallRedirectRequest {

callLegID                    = 25626132

redirectAddress              = 8501

unconditional                = false

redirectReason               = 0

preferredOriginalCalledParty = 8501

}

Nueva llamada al puerto CTI

12:46:00.460 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Event: com.cisco.cti.protocol.NewCallEvent {

deviceName                        = cue_ctiport1

callLegID                         = 25626133

callID                            = 9040

callingParty                      = 3001

calledParty                       = 8501

originalCalledParty               = 8000

reason                            = 6

lastRedirectingParty              = 8000

callingPartyDeviceName            = SEP0023331C29EC

}

12:46:00.463 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Event: com.cisco.cti.protocol.CallStateChangedEvent {

callLegID                         = 25626133

state                             = 2

}

12:46:00.464 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Response: com.cisco.cti.protocol.CallRedirectResponse {

result         = 0

}

12:46:00.468 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Event: com.cisco.cti.protocol.CallStateChangedEvent {

callLegID                         = 25626132

state                             = 1

farEndpointSpecified              = true

fwdDestinationAddress             =

reason                            = 68501

callingParty                      = 3001

callingPartyName                  = Ext 3001 - Phone

calledParty                       = 8000 }

12:46:00.481 %JTAPI-JTAPIIMPL-7-UNK:{(P1-tacjtapiuser) GCID=(1,9040)->ACTIVE}

Initializing to OFFERING for 8501:cue_pt Cause=CAUSE_REDIRECTED Reason= 6

12:46:00.481 %JTAPI-JTAPIIMPL-7-UNK:{(P1-tacjtapiuser) GCID=(1,9040)->ACTIVE}

Received a redirected call -- lastRedAddress is 8000

12:46:00.487 %JTAPI-CTI-7-UNK.(P1-tacjtapiuser){Line:cue_ctiport1:8501:cue_pt.

(1,24)|Call:[GCID=(9040/1),CID=25626133]} CallStateChanged [ state=OFFERING

cause=NOERROR]

12:46:00.489 %JTAPI-CTI-7-UNK.(P1-tacjtapiuser){Line:cue_vm_ctirp:8000:cue_pt.

(1,28)|Call:[GCID=(9040/1),CID=25626132]} CallStateChanged [ state=IDLE cause=

NOERROR destType=IN_CLUSTER destCM=1 fwdDestination=8501]

El puerto CTI acepta la llamada redirigida

12:46:00.490 %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser)[SS_TEL_CALL_CONN_OFFERED:8501]

[[8501:cue_pt/(P1-tacjtapiuser) GCID=(1,9040)->ACTIVE]->OFFERED]Request: accept()

12:46:00.491 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_CALL_

CONN_OFFERED:8501] sending: com.cisco.cti.protocol.CallAcceptRequest {

callLegID            = 25626133

}

12:46:00.495 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Response:

com.cisco.cti.protocol.CallAcceptResponse {

result         = 0

}

12:46:00.498 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.CallStateChangedEvent {

callLegID                         = 25626133

state                             = 3

12:46:00.499 %JTAPI-CTI-7-UNK.(P1-tacjtapiuser){Line:cue_ctiport1:8501:cue_pt.

(1,24)|Call:[GCID=(9040/1),CID=25626133]} CallStateChanged [ state=ACCEPTED

cause=NOERROR]

12:46:00.502 %JTAPI-JTAPIIMPL-7-UNK.(P1-tacjtapiuser) Terminal "cue_ctiport1"

in service

12:46:00.503 %JTAPI-JTAPIIMPL-7-UNK:{(P1-tacjtapiuser) GCID=(1,9040)->ACTIVE}

Handling

External STATE_RINGBACK for 3001:cue_pt

12:46:00.517 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10)

[ENG_TASK:0x98bca5a08_voicebrowser.aef] sending:

com.cisco.cti.protocol.CallAnswerRequest {

callLegID            = 25626133

}

12:46:00.522 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Response:

com.cisco.cti.protocol.CallAnswerResponse {

result         = 0

}

12:46:00.530 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.CallStateChangedEvent {

callLegID                         = 25626133

state                             = 8

Negociación de medios

12:46:00.531 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.DeviceCallOpenLogicalChannelEvent {

callLegID             = 25626133

compressionType       = 4

}

12:46:00.531 %JTAPI-CTI-7-UNK.(P1-tacjtapiuser){Line:cue_ctiport1:8501:

cue_pt.(1,24)|Call:[GCID=(9040/1),CID=25626133]} CallStateChanged

[ state=CONNECTED cause=NOERROR]

12:46:00.537 %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser)[SS_TEL_OPEN_LOGICAL_CHANNEL:

8501][cue_ctiport1]

Request: setRTPParams(CiscoRTPParams192.168.105.224/16384)

12:46:00.537 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_OPEN_

LOGICAL_CHANNEL:8501] sending:

com.cisco.cti.protocol.DeviceSetRTPForCallRequest {

callLegID         = 25626133

ipAddress         = -529946432

rtpPortNumber     = 16384

}

12:46:00.540 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Response:

com.cisco.cti.protocol.DeviceSetRTPForCallResponse {

result         = 0

}

12:46:00.591 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.StartReceptionEvent {

callLegID              = 25626133

ipAddr                 = -529946432

rtpPortNumber          = 16384

compressionType        = 4

}

12:46:00.596 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.StartTransmissionEvent {

callLegID              = 25626133

ipAddr                 = -1167415104

rtpPortNumber          = 22668

compressionType        = 4

}

Desconexión de llamada

12:46:09.438 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.StopReceptionEvent {

callLegID           = 25626133

}

12:46:09.438 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.StopTransmissionEvent {

callLegID           = 25626133

}

12:46:09.441 %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.CallStateChangedEvent {

callLegID                         = 25626133

state                             = 1

cause                             = 16

12:46:09.443 %JTAPI-CTI-7-UNK.(P1-tacjtapiuser){Line:cue_ctiport1:8501:

cue_pt.(1,24)|Call:[GCID=(9040/1),CID=25626133]} CallStateChanged

[ state=IDLE cause=NORMALCALLCLEARING]

Señalización MWI On/Off

CUE activa la lámpara MWI para la línea 3001

12:46:02.714 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser)[Thread-88][8501:cue_pt]

Request:

setMessageWaiting ( 3001,true )

12:46:02.714 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [Thread-88]

sending: com.cisco.cti.protocol.LineSetMessageWaitingRequest {

sequenceNumber    = 57

lineName          = 3001

lampMode          = 2

}

12:46:02.718 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Response: com.cisco.cti.protocol.LineSetMessageWaitingResponse {

sequenceNumber    = 57

result            = 0

}

Número DTMF marcado '3' para eliminar el mensaje del buzón

12:55:52.145 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.DtmfEvent {

eventSequence     = 70

callLegID         = 25626160

digit             = 3

}

12:55:52.145 CST %JTAPI-CTIIMPL-7-UNK.(P1-192.168.100.10) EventThread handling

event com.cisco.cti.protocol.DtmfEvent[70]

12:55:52.146 CST %JTAPI-CTI-7-UNK.(){Line:cue_ctiport1:8501:cue_pt.(1,64)|Call:

[GCID=(9047/1),CID=25626160]}

DTMF [digit=3]

CUE desactiva la luz MWI para la línea 3001

12:55:52.209 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser)[Thread-86][8501:cue_pt]

Request: setMessageWaiting ( 3001,false )

12:55:52.209 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [Thread-86] sending:

com.cisco.cti.protocol.LineSetMessageWaitingRequest {

sequenceNumber    = 62

lineName          = 3001

lampMode          = 1

}

12:55:52.212 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Response:

com.cisco.cti.protocol.LineSetMessageWaitingResponse {

sequenceNumber    = 62

result            = 0

}

Registros CCN en tiempo real

(Resultados de los registros CCN en tiempo real)

Así es como aparece la misma llamada del ejemplo anterior aquí cuando se recopilan los registros CCN en tiempo real.

Configuración de llamadas

12:46:00.425 ACCN TELS 0  assigned STANDARD-worker-8

12:46:00.425 ACCN TELS 0 Route Connection=[8000:cue_pt/(P1-tacjtapiuser) GCID=

(1,9040)->ACTIVE]->OFFERED, reason=1...

12:46:00.426 ACCN TELS 0 Call.received() JTAPICallContact[id=7,type=Cisco JTAPI

Call,implId=9040/1,active=true,state=CALL_RECEIVED,inbound=true...

12:46:00.429 ACCN TELS 0 Route Connection: [8000:cue_pt/(P1-tacjtapiuser)

GCID=(1,9040)->ACTIVE]->OFFERED, CTI Port selected: TP[id=0,implId=8501,

state=IN_USE]

12:46:00.429 ACCN TELS 0 RouteCallObserver.callChangedEvent: redirecting to

8501, css=default

12:46:00.480 ACCN TELS 0 Call.associated() JTAPICallContact[id=7,type=Cisco

JTAPI Call,implId=9040/1,active=true,state=CALL_RECEIVED,

12:46:00.480 ACCN TELS 0 Route Connection: [8000:cue_pt/(P1-tacjtapiuser)

GCID=(1,9040)->ACTIVE]->OFFERED has 1 current sessions active.

12:46:00.484 ACCN TELS 0 CallID: 7, MediaID: 9040/1 CallCtlConnOfferedEv

received for CTI Port: 8501, lastRedirectedAddress: 8000

12:46:00.490 ACCN TELS 0  assigned STANDARD-worker-9

12:46:00.490 ACCN TELS 0 Route TR[num=8000], event=(P1-tacjtapiuser) 9040/1

CallCtlConnDisconnectedEv 8000:cue_pt [#108] Cause:100 CallCtlCause:0

CiscoCause:0 CiscoFeatureReason:6, cause=CAUSE_NORMAL[100],

meta=META_CALL_REMOVING_PARTY[131]

12:46:00.499 ACCN TELS 0 CallID: 7, MediaID: 9040/1 Accepting call for CTI

Route Point: 8000 on CTI Port: 8501, ciscoCause=31

12:46:00.501 ACCN TELS 0 Call.accepted() JTAPICallContact[id=7,type=Cisco

JTAPI Call,implId=9040/1,active=true,state=CALL_RECEIVED...

12:46:00.501 ACCN TELS 0 CallID:7 MediaId:9040/1, TerminalConnection to

Terminal: cue_ctiport1 is RINGING, [8501:cue_pt/(P1-tacjtapiuser)

GCID=(1,9040)->ACTIVE]->ALERTING

12:46:00.504 ACCN TELS 0 CallID:7 MediaId:9040/1 com.cisco.jtapi.

CiscoTermInServiceEvImpl received

12:46:00.504 ACCN TELS 0 TR[num=8000] Get TriggerMap[] return:

{secondaryDialogGroup=0, primaryDialogGroup=0}

12:46:00.513 ACCN TELS 0 Call.attributed() JTAPICallContact[id=7,type=Cisco

JTAPI Call,implId=9040/1,active=true,state=CALL_RECEIVED,...

12:46:00.513 ACCN TELS 0 CallID:7 MediaId:9040/1 Task:41000000008 associated

with Task ID: 41000000008

12:46:00.533 ACCN TELS 0 CallID:7 MediaId:9040/1 Task:41000000008,

TerminalConnection to Terminal:cue_ctiport1 is ACTIVE

12:46:00.534 ACCN TELS 0 Call.answered() JTAPICallContact[id=7,type=

Cisco JTAPI Call,implId=9040/1,active=true,state=CALL_ANSWERED,...

12:46:00.536 ACCN TELS 0 CallID:7 MediaId:9040/1 Task:41000000008

com.cisco.jtapi.CiscoMediaOpenLogicalChannelEvImpl received

12:46:00.593 ACCN TELS 0 CallID:7 MediaId:9040/1 Task:41000000008

com.cisco.jtapi.CiscoRTPInputStartedEvImpl received

12:46:00.597 ACCN TELS 0 CallID:7 MediaId:9040/1 Task:41000000008

com.cisco.jtapi.CiscoRTPOutputStartedEvImpl received

Desconexión de llamada

12:46:09.442 ACCN TELS 0 CallID:7 MediaId:9040/1 Task:41000000008

com.cisco.jtapi.CiscoRTPInputStoppedEvImpl received

12:46:09.443 ACCN TELS 0 CallID:7 MediaId:9040/1 Task:41000000008

com.cisco.jtapi.CiscoRTPOutputStoppedEvImpl received

12:46:09.447 ACCN TELS 0 CallID:7 MediaId:9040/1 Task:41000000008

gets TermConnDroppedEv, meta code:132, cause code:100

12:46:09.447 ACCN TELS 0 CallID:7 MediaId:9040/1 Task:41000000008,

TerminalConnection to Terminal: cue_ctiport1 is DROPPED, 9040/1

12:46:09.448 ACCN TELS 0 CallID:7 MediaId:9040/1 is removed from call session

mapping in Session[id=0x60db88402,parent=null,active=true,state=SESSION_IN_USE,

time=1354733160426], result:true

12:46:09.466 ACCN TELS 0 Call.abandoned() JTAPICallContact[id=7,type=Cisco

JTAPI Call,implId=9040/1,active=false,state=CALL_DISCONNECTED,...

12:46:09.466 ACCN TELS 0 CallID:7 MediaId:9040/1 Task:41000000008, released TP

[type=Cisco CTI Port,id=0,implId=8501,active=false,state=IDLE] from 8000, and

releasing udpPort 16384

12:46:09.467 ACCN TELS 0 CallID:7 MediaId:9040/1 Task:41000000008

com.cisco.jtapi.TermObservationEndedEvImpl received

Solución de problemas de casos prácticos

Inconvenientes de conectividad

En esta situación, los puertos CUE y los desencadenadores no se registran en CUCM debido a la falta de conectividad entre CUE y CUCM.

CUE# show log name CiscoJtapi1.log tail

!! or show log name CiscoJtapi2.log tail

456: 13:20:28.331 CDT %JTAPI-MISC-7-UNK.(P20-) started preloading classes

457: 13:20:28.331 CDT %JTAPI-MISC-7-UNK.(P20-) finished preloading classes

461: 13:20:28.331 CDT %JTAPI-CTI-7-UNK.(P20-) EventThread queue size

threshold is 25

462: 13:20:28.331 CDT %JTAPI-CTI-7-UNK.(P20-) Provider retry interval is set

to 30 seconds

463: 13:20:28.331 CDT %JTAPI-CTI-7-UNK.(P20-) Client desired server heartbeat

time is set to 30 seconds

464: 13:20:28.331 CDT %JTAPI-CTI-7-UNK.(P20-) CTI request timeout is is set to

30 seconds

465: 13:20:28.331 CDT %JTAPI-CTI-7-UNK.(P20-) Provider open request timeout

is set to 200 seconds

467: 13:20:28.331 CDT %JTAPI-CTI-7-UNK.(P20-) Provider Reconnect attempts is

set to 0

468: 13:20:28.331 CDT %JTAPI-CTI-7-UNK.(P20-) JAVA Socket Connect Timeout is

set to 15 seconds

469: 13:20:28.332 CDT %JTAPI-CTIIMPL-7-UNK.(P20-) Provider.info(CCMEncryption:

:encryptPassword was successful)

471: 13:20:28.334 CDT %JTAPI-JTAPIIMPL-7-UNK.ProviderImpl(): calling

jtapiProperties.getSecurityPropertyForInstance()

472: 13:20:28.334 CDT %JTAPI-JTAPIIMPL-7-UNK.(P20-tacjtapiuser   ) TraceModule:

JTAPI version Cisco Jtapi version 7.0(1.1000)-1 Release

473: 13:20:28.334 CDT %JTAPI-JTAPIIMPL-7-UNK.(P20-tacjtapiuser   ) Route Select

Timeout is 5000 msecs

474: 13:20:28.335 CDT %JTAPI-JTAPIIMPL-7-UNK.(P20-tacjtapiuser   ) Jtapi post

condition timeout is set to 15 seconds

476: 13:20:28.335 CDT %JTAPI-CTIIMPL-7-UNK.(P20-tacjtapiuser   ) Opening server

"192.168.100.10" login "tacjtapiuser   "

477: 13:20:28.335 CDT %JTAPI-CTIIMPL-7-UNK.(P20-tacjtapiuser   ) ProviderID =

P20-tacjtapiuser  478: 13:20:28.337 CDT %JTAPI-CTIIMPL-7-UNK.(P20-tacjtapiuser   )

Trying to create normal socket connection to 192.168.100.10

479: 13:20:38.338 CDT %JTAPI-JTAPI-7-UNK:[DefaultJtapiPeer]PlatformExceptionImpl

caught:

Unable to create provider --

Nota: Los segundos de marca de tiempo van de 13:20:28 a 13:20:38; por lo tanto, podemos decir que el CUE no pudo abrir el socket TCP durante 10 segundos antes del reconocimiento de la incapacidad para crear el proveedor.

Problemas de autenticación

En esta situación, los puertos y desencadenadores CUE no se registran con CUCM porque las contraseñas configuradas entre CUE y CUCM no coinciden.

Registro de CCN

CUE# show trace buffer tail

Press CTRL-C to exit...

140053.173 ACCN TELS 0 TAPIPortGroup Leaving getActiveCCM(), retvalnull

140123.184 ACCN TELS 0 TAPIPortGroup Enter getActiveCCM()

140123.184 ACCN TELS 0 TAPIPortGroup getActiveCCM() subsystemstate3

140123.184 ACCN TELS 0 TAPIPortGroup getActiveCCM() subsystemJTAPI is not

inservice or partial service

140123.184 ACCN TELS 0 TAPIPortGroup Leaving getActiveCCM(), retvalnull

atrace.log

14:12:18.681 ACCN TELS 0 JTAPI_PROVIDER_EVENT:JTAPI Provider state is changed:

JTAPI provider name=192.168.100.10,Event=ProvShutdownEv received

14:12:18.682 ACCN TELS 0 SS_LOGIN:JTAPI Login String: Module=JTAPI Subsystem,

JTAPI login string=192.168.100.10;login=tacjtapiuser   ;passwd=****;appinfo=

Cisco IP IVR

14:12:18.682 ACCN TELS 0 PROVIDER_CLEANUP:Cleaning up JTAPI provider:

Module=JTAPI Subsystem,JTAPI provider name=192.168.100.10

14:12:18.682 ACCN TELS 0 TAPIPortGroup 1 getNumPorts() for Cisco CTI Port = 2

14:12:18.682 ACCN TELS 0 TPG[id=1,state=PARTIAL_SERVICE] removeRoute() -

TR[num=9500]

14:12:18.682 ACCN TELS 0 TPG[id=1,state=PARTIAL_SERVICE] removeRoute() -

TR[num=9000]

14:12:18.682 ACCN TELS 0 MwiAddress.clear: [addrStr=, addr=null, inService=false,

isRegistered=false]

14:12:18.682 ACCN TELS 0 MwiAddress.unregister: [addrStr=, addr=null,

inService=false, isRegistered=false]

14:12:18.682 ACCN TELS 0 TAPIPortGroup 1 getNumPorts() for Cisco CTI Port = 0

14:12:18.682 ACCN TELS 0 Number of CTI ports = 0

14:12:18.682 ACCN TELS 0 calculateSubsystemState

14:12:18.682 ACCN TELS 0 TPG[id=1,state=PARTIAL_SERVICE] Triggers: ISV = 0,

OOS = 0, PARTIAL = 0

14:12:18.682 ACCN TELS 0 TAPIPortGroup 1 getNumPorts() for Cisco CTI Port = 0

14:12:18.682 ACCN TELS 0 calculateSubsystemState -> Groups: ISV = 0, OOS = 0,

PARTIAL/OTHERS = 1

14:12:18.682 ACCN TELS 0 calculateSubsystemState -> Triggers: ENABLED = 0,

DISABLED = 2, CONFIG ERR = 0

14:12:18.682 ACCN TELS 0 calculateSubsystemState -> subsystem partial in

service, unchanged cause:

A number of route points are OOS - TR[num=9000], TR[num=9500]; A number of

CTI ports are OOS - TPG[id=1,state=PARTIAL_SERVICE].Ports[9590]

14:12:18.689 ACCN TELS 0 SS_PARTIAL_SERVICE:JTAPI subsystem in partial service:

Failure reason=A number of route points are OOS - TR[num=9000], TR[num=9500];

A number of CTI ports are OOS - TPG[id=1,state=PARTIAL_SERVICE].Ports[9590]

14:12:18.689 ACCN TELS 0 GET_NEW_PROVIDER:Attempt to get JTAPI provider

14:12:18.693 ACCN TELS 0 Calling updateJTAPIPackage: 192.168.100.10

Module=JTAPI_PROVIDER_INIT,Exception=com.cisco.jtapi.PlatformExceptionImpl:

Unable to create provider

-- bad login or password.

14:12:18.828 ACCN TELS 0 EXCEPTION:com.cisco.jtapi.PlatformExceptionImpl:

Unable to create provider

-- bad login or password.

CiscoJtapi1.log / CiscoJtapi2.log

6318: 14:22:26.653 CDT %JTAPI-CTIIMPL-7-UNK.(P62-tacjtapiuser   ) Trying to

create normal socket connection to 192.168.100.10

6319: 14:22:26.654 CDT %JTAPI-CTIIMPL-7-UNK.(P62-tacjtapiuser   ) connected

6321: 14:22:26.654 CDT %JTAPI-PROTOCOL-7-UNK.(P62-192.168.100.10)

[SS_TEL_REINIT] sending: com.cisco.cti.protocol.ProviderOpenRequest {

provider                   = 192.168.100.10

qbeClientVersion           = Cisco JTAPI 7.0(1.1000)-1 Release

login                      = com.cisco.cti.protocol.UnicodeString {

unicodedisplayName = tacjtapiuser

}

filter                     = com.cisco.cti.protocol.ProviderEventFilter {

deviceRegistered         = true

deviceUnregistered       = true

desiredServerHeartbeatTime = 30

}

6331: 14:22:26.781 CDT %JTAPI-PROTOCOL-7-UNK(P62-192.168.100.10)

received Event: com.cisco.cti.protocol.ProviderOpenCompletedEvent {

eventSequence       = 251

reason              = -1932787616

providerInfoString  = 7.1.2.21900-5

failureDescription  = Directory login failed - authentication failed.

providerId          = 16777255

}

6333: 14:22:26.781 CDT %JTAPI-PROTOCOL-7-UNK.(P62-192.168.100.10)

received Event: com.cisco.cti.protocol.ProviderClosedEvent {

eventSequence = 252

reason        = 4

}

6338: 14:22:26.781 CDT %JTAPI-PROTOCOL-7-UNK.(P62-192.168.100.10)

Received ProviderClosedEvent

6339: 14:22:26.781 CDT %JTAPI-PROTOCOL-7-UNK.(P62-192.168.100.10)

received Event: com.cisco.cti.protocol.ProviderOutOfServiceEvent {

eventSequence                 = 253

PROVIDER_OUT_OF_SERVICE_EVENT = 200

}

6343: 14:22:26.782 CDT %JTAPI-JTAPI-7-UNK:[DefaultJtapiPeer]

PlatformExceptionImpl caught: Unable to create provider -- bad login or password.

6344: 14:22:26.881 CDT %JTAPI-CTIIMPL-7-UNK.(P62-192.168.100.10) ReceiveThread:

caught java.net.SocketException: The socket was closed

Usuario no habilitado para CTI

En este escenario, los puertos CUE y los desencadenadores no se registran con CUCM porque el usuario de la aplicación JTAPI no se ha agregado al grupo de permisos CTI estándar en el lado CUCM. Por lo tanto, incluso cuando las credenciales de usuario se autentican en consecuencia, el usuario JTAPI, tacjtapiuser en este caso, no puede controlar ningún dispositivo a través de CTI y JTAPI.

CiscoJtapi1.log / CiscoJtapi2.log

11590:14:41:08.768 CDT %JTAPI-PROTOCOL-7-UNK.(P115-192.168.100.10)

[ProviderRetryThread] sending:

com.cisco.cti.protocol.ProviderOpenRequest {

provider                   = 192.168.100.10

qbeClientVersion           = Cisco JTAPI 7.0(1.1000)-1 Release

login                      = com.cisco.cti.protocol.UnicodeString {

unicodedisplayName = tacjtapiuser

}

applicationID              = Cisco IP IVR

desiredServerHeartbeatTime = 30

requestTimer               = 0

cmAssignedApplicationID    = 0

pluginName                 = CiscoJTAPI

}

11593:14:41:08.770 CDT %JTAPI-PROTOCOL-7-UNK.(P115-192.168.100.10)

received Response: com.cisco.cti.protocol.ProviderOpenResponse {

sequenceNumber     = 117

result             = 0

providerInfoString = 7.1.2.21900-5

clientHeartbeat    = 30

serverHeartbeat    = 30

requestTimer       = 5

pluginVersion      = 7.1.2.10000-5

pluginLocation     = http://192.168.100.10/plugins/

providerId         = 16777220

}

11600: 14:41:08.899 CDT %JTAPI-PROTOCOL-7-UNK.(P115-192.168.100.10)

received Event: com.cisco.cti.protocol.ProviderOpenCompletedEvent {

eventSequence       = 461

reason              = -1932787617

sequenceNumber      = 117

failureDescription  = Directory login failed - User not present in Standard

CTI Users group.

providerId          = 16777220

}

11608:14:41:08.900 CDT %JTAPI-PROTOCOL-7-UNK.(P115-192.168.100.10)

received Event:

com.cisco.cti.protocol.ProviderOutOfServiceEvent {

eventSequence                 = 463

PROVIDER_OUT_OF_SERVICE_EVENT = 200

}

CUCM CTI Manager Service está inactivo

En esta situación, los puertos y desencadenadores CUE no se pueden registrar porque el servicio CUCM CTI Manager está inactivo o en un estado anormal. Recibe un error de "conexión rechazada" para el intento de conexión de CUE al puerto TCP JTAPI 2748.

18956: 16:25:45.516 CDT %JTAPI-CTIIMPL-7-UNK.(P200-) Provider.

info(CCMEncryption::encryptPassword was successful)

18957: 16:25:45.516 CDT %JTAPI-CTIIMPL-7-UNK.(P200-) application did

not set appinfo, creating default

18958: 16:25:45.516 CDT %JTAPI-JTAPIIMPL-7-UNK.ProviderImpl(): calling

jtapiProperties.getSecurityPropertyForInstance()

18959: 16:25:45.516 CDT %JTAPI-JTAPIIMPL-7-UNK.(P200-tacjtapiuser   )

TraceModule: JTAPI version Cisco Jtapi version 7.0(1.1000)-1 Release

18960: 16:25:45.516 CDT %JTAPI-JTAPIIMPL-7-UNK.(P200-tacjtapiuser   )

Route Select Timeout is 5000 msecs

18961: 16:25:45.516 CDT %JTAPI-JTAPIIMPL-7-UNK.(P200-tacjtapiuser   )

Jtapi post condition timeout is set

to 15 seconds

18962: 16:25:45.516 CDT %JTAPI-JTAPIIMPL-7-UNK.(P200-tacjtapiuser   )

IgnoreFwdDestination

set to false

18963: 16:25:45.516 CDT %JTAPI-CTIIMPL-7-UNK.(P200-tacjtapiuser   )

Opening server "192.168.100.10" login "tacjtapiuser   "

18964: 16:25:45.516 CDT %JTAPI-CTIIMPL-7-UNK.(P200-tacjtapiuser   )

ProviderID = P200-tacjtapiuser

18965: 16:25:45.517 CDT %JTAPI-CTIIMPL-7-UNK.(P200-tacjtapiuser   )

Trying to create normal socket connection to 192.168.100.10

18966: 16:25:45.518 CDT %JTAPI-JTAPI-7-UNK:[DefaultJtapiPeer]

PlatformExceptionImpl caught:

Unable to create provider -- 192.168.100.10/192.168.100.10:2748 -

Connection refused

Discordancia de configuración

En este escenario, el CUE no puede registrar el disparador JTAPI con el número 9999 porque el CTI RP que debe coincidir no está configurado o no se ha agregado a los "dispositivos controlables" para el usuario en el lado de CUCM. El CUE se da cuenta de esto después de recibir GetDeviceInfoFetchResponse de CUCM y observa que no hay ningún dispositivo en el dominio del proveedor, que hace referencia a todos los dispositivos controlables por ese usuario, lo que coincidiría con el número de activación que ha configurado localmente. A continuación, CUE no intenta enviar un DeviceOpenRequest para ese disparador específico y, en su lugar, sólo informa de la excepción en los seguimientos. CUE sigue intentando registrar todos los demás dispositivos que se encuentren dentro del dominio del proveedor enviado por CUCM.

13:27:58.864 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Response:

com.cisco.cti.protocol.GetDeviceInfoFetchResponse {

com.cisco.cti.protocol.DeviceInfo {

name               = cue_vm_ctirp

}

13:27:58.960 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.DeviceGetLineInfoRequest {

deviceName     = cue_vm_ctirp

}

13:27:58.962 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.GetLineInfoFetchRequest

13:27:58.964 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Response:

com.cisco.cti.protocol.GetLineInfoFetchResponse{

name                      = 8000

}

13:27:58.966 CST %JTAPI-CTI-7-UNK(P1-tacjtapiuser) DeviceMap: adding device

"cue_vm_ctirp"

13:27:59.427 CST %JTAPI-JTAPI-7-UNK: InvalidArgumentExceptionImpl caught:

Address 9999 is not in provider's domain.

Nota: Incluso cuando el disparador 9999 se configura localmente en CUE, no forma parte del dominio del proveedor recibido de CUCM y, por lo tanto, no se registra.

CUE continúa abriendo la línea 8000; que se incluye en el dominio del proveedor

13:28:00.953 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.DeviceOpenRequest {

deviceName            = cue_vm_ctirp

13:28:00.979 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.LineOpenRequest {

deviceName       = cue_vm_ctirp

lineName         = 8000

13:28:00.983 CST %JTAPI-JTAPIIMPL-7-UNK:cue_vm_ctirp: Lines opened

13:28:00.997 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.DeviceRegisterDeviceRequest

deviceName                = cue_vm_ctirp

13:28:01.000 CST %JTAPI-CTI-7-UNK.(P1-tacjtapiuser) DeviceMap: opening device

"cue_vm_ctirp"

13:28:01.001 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) [SS_TEL_INIT]

sending: com.cisco.cti.protocol.LineOpenRequest {

lineName         = 8000

13:28:01.012 CST %JTAPI-JTAPIIMPL-7-UNK:cue_vm_ctirp: Lines opened

13:28:01.164 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.DeviceRegisteredEvent {

13:28:01.165 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.DeviceInServiceEvent {

13:28:01.166 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received Event:

com.cisco.cti.protocol.LineInServiceEvent {

13:28:01.168 CST %JTAPI-JTAPIIMPL-7-UNK.(P1-tacjtapiuser) Terminal

"cue_vm_ctirp" in service

Problema de ruteo de llamada de CUCM

En este escenario, el usuario con DN 3001 llama al CUE para verificar su VM. La llamada se presenta al piloto de VM de CUE (CTI RP) con DN 8000. Luego, el CUE solicita a la llamada que se redirija a su puerto CTI de medios con DN 8501, pero la llamada no puede ser redirigida porque el CSS configurado para DN 3001 no tiene acceso al PT donde se asigna el DN del puerto CTI.

12:56:01.392 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Event: com.cisco.cti.protocol.NewCallEvent {

deviceName                        = cue_vm_ctirp

callLegID                         = 25626135

callID                            = 9041

callingParty                      = 3001

calledParty                       = 8000

originalCalledParty               state                             = 2

}

12:56:01.404 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10)

[SS_TEL_ROUTE_CALL_EV] sending: com.cisco.cti.protocol.CallRedirectRequest {

callLegID                    = 25626135

redirectAddress              = 8501

}

12:56:01.397 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Event: com.cisco.cti.protocol.CallStateChangedEvent {

callLegID                         = 25626135

state                             = 2

}

12:56:01.450 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Response: com.cisco.cti.protocol.FailureResponse {

result         = -1932787660

description    = redirect failure

}

12:56:01.450 CST %JTAPI-JTAPI-7-UNK:[[8000:cue_pt/(P1-tacjtapiuser)

GCID=(1,9041)->ACTIVE]->OFFERED]InvalidPartyExceptionImpl caught:

Request failed because of an invalid destination.

12:56:05.456 CST %JTAPI-PROTOCOL-7-UNK.(P1-192.168.100.10) received

Event: com.cisco.cti.protocol.CallStateChangedEvent {

callLegID                         = 25626135

state                             = 1

cause                             = 17

}

12:56:05.456 CST %JTAPI-CTI-7-UNK.(P1-tacjtapiuser){Line:cue_vm_ctirp:

8000:cue_pt.(1,28)|Call:[GCID=(9041/1),CID=25626135]}CallStateChanged

[ state=IDLE cause=USERBUSY]

12:56:05.457 CST %JTAPI-CTI-7-UNK:{ALL EXTERNAL ADDRESSES|Call(P1-tacjtapiuser)

GCID=(1,9041)->ACTIVE} ExternalCallStateChanged

[ state=IDLE cause=17 processEvent= reason =1 ]

12:56:05.457 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser) 9041/1 ConnDisconnectedEv

3001:cue_pt [#160]

Cause:17 CallCtlCause:0 CiscoCause:17 CiscoFeatureReason:12

12:56:05.457 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser)[(P1-192.168.100.10)

EventThread][SEP0023331C29EC] Request: getCallingTerminal()

12:56:05.457 CST %JTAPI-JTAPI-7-UNK.(P1-tacjtapiuser) 9041/1

CallCtlConnDisconnectedEv 3001:cue_pt [#161] Cause:17 CallCtlCause:0

CiscoCause:17 CiscoFeatureReason:12= 8000

Problemas de licencia

En esta situación, CUE no puede registrar sus puertos y desencadenadores porque las licencias para los puertos VM no se han activado. No se ven intentos de registro en las capturas por la misma razón.

Resumen de atrace.log decodificado:

2551 11:45:17.178 LLMA LAPI 0 Llama: getMaxVmPortCount():

2547 11:45:17.178 LLMA LVMP 0 LlamaVmPortQuery: get(): maxCount

2551 11:45:17.178 LLMA LSDB 0 Llama: getMaxVmPortCount(): LlamaSysdbUser():

getInt(): Getting int /sw/apps/limitsManager/vmPort/query/maxCount returns 0

2551 11:45:17.178 LLMA LAPI 0 Llama: getMaxVmPortCount(): count: 0

2551 11:45:17.178 WFSP JTRG 0 WFSysdbNdJtapiTrg::getMaxSessions for trigger

for app: voicemail 0

2551 11:45:17.178 WFSP JTRG 0 WFSysdbNdJtapiTrg::commit warning session

value exceeded license max

2551 11:45:17.181 WFSP JTRG 0 com.cisco.aesop.sysdb.xactSysdbException:

Session value exceeds license limit

2551 11:45:19.654 LLMA LVMM 0 LlamaVmMbxQuery: get(): licenseStatus

2575 11:45:19.654 LLMA LSDB 0 Llama: showVoicemail(): LlamaSysdbUser():

getInt(): Getting int /sw/apps/limitsManager/vmMbx/query/licenseStatus returns 2

2575 11:45:19.657 LLMA LLMT 0 voicemail disabled, voicemail mailbox

activation count has been set to zero

3456 11:45:23.114 LLMA LAPI 0 Llama: getMaxPortCount():

2555 11:45:23.114 LLMA LPRT 0 LlamaPortQuery: get(): maxCount

3456 11:45:23.115 LLMA LSDB 0 Llama: getMaxPortCount(): LlamaSysdbUser():

getInt(): Getting int/sw/apps/limitsManager/port/query/maxCount returns 0

3456 11:45:23.115 LLMA LAPI 0 Llama: getMaxPortCount(): count: 0

3456 11:45:28.727 ACCN TELS 0 CueCiscoCall:getMajorVer() jtapi version=

7.0(1.1000)-1  majorVer=7

3456 11:45:28.785 ACCN TELS 0 JTAPI Login Str:

192.168.100.10;login=tacjtapiuser   ;passwd=****;appinfo=Cisco IP IVR

3456 11:45:28.785 ACCN TELS 0 Actual Login Str:

192.168.100.10;login=tacjtapiuser   ;passwd=cisco;appinfo=Cisco IP IVR

3477 11:45:31.330 ACCN TELS 0 Got JTAPI provider: Cisco Jtapi version

7.0(1.1000)-1 Release

3621 11:45:31.338 ACCN TELS 0 JTAPI_PROVIDER_EVENT:JTAPI Provider

state is changed: JTAPI provider name=192.168.100.10,Event=

ProvOutOfServiceEv received

3621 11:45:31.352 ACCN TELS 0 JTAPI_PROVIDER_EVENT:JTAPI Provider state

is changed: JTAPI provider name=192.168.100.10,Event=ProvInServiceEv received

3621 11:45:31.353 ACCN ATJT 0 checkConnectivity:

urlString:http://192.168.100.10/CCMPluginsServer/CiscoJTAPIClient.exe

3477 11:45:34.130 ACCN TELS 0 SS_OUT_OF_SERVICE:JTAPI subsystem in

out of service: Failure reason=A number of route points are OOS; A number of

CTI ports are OOS - all ports in TPG

3751 11:45:48.558 ACCN TELS 0 TAPIPortGroup: getActiveCCM() subsystemJTAPI

is not in service or partial service

Mejores medidas

CUE sólo admite el códec G711ulaw; por lo tanto, en casi todas las implementaciones se requiere un transcodificador para que la CUE se comunique con otros dispositivos o troncales que utilizan códecs diferentes (incluye G711Alaw). Lo mismo se aplica a la interconexión DTMF con dispositivos que solo admiten DTMF en banda cuando también se requiere un recurso de Media Termination Point (MTP). Debido a estas limitaciones, Cisco recomienda:

- Cree un grupo de dispositivos aislado para el uso de sólo los puertos CTI RP y CTI de CUE. En caso de que se integre más de un CUE con CUCM, cree un grupo de dispositivos por CUE.

- Cree una región separada sólo para el RP y los puertos de CUE y aplíquela a ese grupo de dispositivos aislado.

- Asegúrese de que la región esté configurada para permitir solamente G711 con todas las demás regiones.

- Asegúrese de que se aplique una lista de grupos de recursos de medios (MRGL) con recursos de transcodificación disponibles al grupo de dispositivos de los puertos CTI RP y CTI de CUE para que tengan acceso a un recurso de transcodificador, cuando sea necesario.

- Si el usuario no puede navegar a través de los menús de voz con tonos DTMF, es posible agregar un recurso MTP a la MRGL de los dispositivos CUE.

Cree un perfil de VM independiente para CUE en CUCM

Para evitar algunos problemas recientes observados con el CUCM CTI Manager, se recomienda asociar todos los teléfonos al usuario JTAPI de CUE en el lado CUCM, en lugar de sólo los CTI RP y los puertos.

Si se desea la funcionalidad Survivable Remote Site Telephony (SRST):

- Asegúrese de que el disparador SIP correspondiente esté configurado para cada disparador JTAPI en CUE.

- Asegúrese de que los pares de marcado se agreguen al router de la sucursal para permitir que las llamadas se ruteen al módulo CUE a través de SIP mientras están en modo SRST.

- Configure la máscara de número externo de cada uno de los puntos de ruta CTI, así como la del campo CFU (Desvío de llamadas no registradas) en CUCM para asegurarse de que CUCM rutea las llamadas destinadas al módulo de la sucursal a través del gateway de red telefónica pública conmutada (PSTN) local cuando se pierde la conectividad entre CUCM y CUE o si se invoca el enrutamiento alternativo automatizado (AAR). Es posible que se necesiten reglas de traducción adicionales para que el router de la sucursal pueda rutear llamadas entrantes desde PSTN al módulo CUE también.

- Si el enfoque de configuración de Transferencia directa a VM está presente en el lado de CUCM y el usuario desea mantener esta funcionalidad mientras se encuentra en CME-SRST, debe utilizar el antiguo DN ficticio con el enfoque de configuración de Desvío incondicional (CFA) que se utilizó para CME antes de que la tecla programada TransferToVM estuviera disponible. Refiérase a Transferencia de una Persona que Llama Directamente a un Buzón de Correo de Unity Express para obtener más información. Este es un ejemplo de cómo se puede ver esto. Tenga en cuenta que esto sólo se puede hacer si CME-SRST se utiliza y no SRST heredada con Call-Manager-fallback.

- Suponga que los DN están en el rango 200-299.

1. Se recibe la llamada para x201.

2. Configure un ephone-dn con este comando:
ephone-dn 99

number 2..

call-forward all <VM Pilot>

3. En el dial-peer que apunta a CUE:

1. Utilice una regla de traducción saliente y un perfil para eliminar el asterisco prefijo ("*") y reemplazar el Servicio de información de número marcado redirigido (RDNIS) con el número original de 3 dígitos, por ejemplo, 201, o con el número completo E.164 en caso de que el número de teléfono se configurara con el DID completo dentro de CUE.

2. Asegúrese de que el encabezado de desviación de la INVITE que se envía a CUE coincida con el número de teléfono configurado para el usuario en el lado CUE.

Lista de comprobación para la resolución de problemas de registro de puertos

1. Verifique la configuración en el lado de CUCM:

1. ¿Están habilitados e iniciados los servicios web CTI Manager, CallManager y Administrative XML (AXL)?

2. ¿Se han configurado los puertos CTI y los puntos de ruta y se les ha asignado un DN único?

3. ¿Está habilitado el CTI del usuario JTAPI y tiene acceso a la API AXL?

4. ¿El usuario JTAPI tiene control de todos los puertos y puntos de ruta CTI?

5. A veces es una buena idea reiniciar el servicio CTI Manager en todos los servidores después de agregar la configuración. Sin embargo, esto podría afectar al servicio y es aconsejable programar una ventana de mantenimiento, ya que afecta al resto de dispositivos que utilizan CTI y JTAPI con CUCM, como Unified Contact Center Express (UCCX), IP Manager Assistant (IPMA), Attendant Console, aplicaciones AA o ACD de terceros, etc.

2. Verifique la configuración en el lado CUE:

1. ¿El agente de llamada se define como CUCM?

2. ¿Se han habilitado las licencias de puerto? Las licencias de evaluación son aceptables para la configuración inicial.

3. ¿Puede hacer ping en el CUCM?

4. ¿Se han agregado correctamente las credenciales de usuario JTAPI y se han definido agentes de llamada?

5. ¿Se ha recargado el módulo para que se apliquen los cambios de configuración?

6. Si el CTI RP y el puerto no se importan automáticamente desde el CUCM, intente agregar manualmente los DN de puerto bajo el subsistema ccn jtapi, así como los jtapi disparadores para cada CTI-RP y recargue el módulo.

Si se confirman todos estos elementos, el siguiente paso es obtener seguimientos JTAPI en CUE y posiblemente seguimientos CUCM CTI para aislar el problema.

Información Relacionada

- Configuración y recopilación de datos de seguimiento en CUE

- Resolución de problemas de las características del sistema Cisco Unity Express

- Ejemplo de Configuración de CallManager para Cisco Unity Express

- Configuración del perfil de buzón de voz de CUCM

- Modelos de implementación de Cisco Unity Express

- Prácticas recomendadas para implementar Cisco Unity Express

- Transcodificación CUCM

- CUCM MTP

- Soporte Técnico y Documentación - Cisco Systems