Knowlege base

Phone Control: configurable timeout for TAPI Library and line monitoring initialization

Article ID: 644
Last updated: 28 Jan, 2019
to version Application Suite 201x (any version)

Applies to

IAS Winter 2019 or newer

Description

Bug symptoms:

  • While autenticanting with Attendant Console, user receives a message of incorrect credentials (username and password) even if these are correct.
  • At lines TAPI monitoring start, something goes wrong and log file Var\Log\ ApplicationSuite.Phone.ControlService\ApplicationSuite.log.txt ends with the following line:
INFO  { 10} [ApplicationSuite] [SvTapiManager] Initializing main TAPI object.

Cause

Bug root cause is related to the fact that if TAPI monitoring freezes, Phone Control remains locked in a not-ready state and Console, having exceeded its unanswered timeouts from server, returns an error message. In addition to that, if TAPI initialization is unlocked after a certain time, agent is wrongly shown as connected event if he is not.

The only work-around consists in turning off services and restart Phone Control.

Solution

Two configuration parameters have been added: 

  • Phone Control TAPI Library initialization timeout
  • Phone Control line monitoring initialization timeout

TAPI Library initialization timeout parameter configuration

A new configurable parameter has been introduced to allow setting of the Phone Control TAPI library initialization timeout. This parameter is configured by default using the key tapi.initializationTimeout.minutes in the configuration file \ Apps \ ApplicationSuite \ Settings \ ApplicationSuite.Phone.Control.schema.xml

<!-- TAPI Manager Initialization Timeout expressed in minutes ( if 0 or less, timeout will be set to max value) -->

<preference key="tapi.initializationTimeout.minutes" defvalue="10" type="System.Int32" attributes="" />

Parameter override can be handled, as usual, by adding to the corresponding settings file ApplicationSuite.Phone.Control.config.xml a type key as follows:

<preference key="tapi.initializationTimeout.minutes" value="1" />

Parameter is in minutes and its default value is 10.

If the value is set to 0 (or any negative number), the system will use the maximum available value (24 days, 20 hours, 31 minutes and 23 seconds).

If TAPI monitoring starting does not end successfully within the indicated timeout, Phone Control generates an error. In this case it is necessary to switch off the service.

Line monitoring initialization Timeout parameter configuration

In addition to the above, a further configurable parameter has been introduced to set the timeout for the Attendant Server to monitor a TAPI line. This parameter is configured by default with the Attendant.Core.ConsoleServer.PhoneControl.ConnectionTimeout.Seconds key in the configuration file \Apps\Attendant\Settings\Attendant.schema.xml

<!-- PhoneControl: TAPI line initialization expressed in seconds ( if 0 or less, timeout will be set to max value) -->

<preference key="Attendant.Core.ConsoleServer.PhoneControl.ConnectionTimeout.Seconds" defvalue="17" type="System.Int32" attributes=""/>

The override can be executed, as usual, by adding to the corresponding settings file Attendant.config.xml a key of the type

<preference key="Attendant.Core.ConsoleServer.PhoneControl.ConnectionTimeout.Seconds" value="10" />

The parameter is in second and its default value is 17. This key must always be set to a value minor than client-side timeout, configurable by the AuthenticationTimeout key in the Attendant.Client.schema.xml file (default value 20 seconds).

If the value is set to 0 (or any negative number), the system will use the maximum available value, (24 days, 20 hours, 31 minutes and 23 seconds).

If TAPI monitoring starting does not end successfully within the indicated timeout, Attendant Server generates an error and, after receiving an "Init Complete" message from the client, returns an empty list of controlled lines, which results into the following error message from the client (Error message shown by Attendant Console in case of failure in checking TAPI line within the configured timeout)

Troubeshooting

TAPI Library Initialization Timeout

Log file Var\Log\ApplicationSuite.Phone.ControlService\ApplicationSuite.log.txt, when TAPI library is successfully loaded, shows the following logging (timeout is set to 1 minute in the example below: Phone control log with successful TAPI library inizialization. Timeout set to 1 minute.)

Phone control log with timeout TAPI library inizialization (In the example below: Phone control log with timeout unsuccessful TAPI library inizialization. Timeout set to 1 minute)

In case a timeout occurs, the following logs are produced

  • in Var\Log\Attendant.Core.ConsoleServerService\Attendant.log.txt ( (Attendant Server Log→ Application Suite in case of timeout unsuccessful TAPI library inizialization):
  • in Var\Log\Attendant.Core.ConsoleServerService\Attendant.log.txt (Attendant Server  Log → Attendant in case of timeout unsuccessful TAPI library inizialization):

Line Monitoring Inizialization Timeout

Log file Var\Log\Attendant.Core.ConsoleServerService\Attendant.log.txt, in case of line monitoring inizialization timeout, shows the following log lines (Attendant Server Log → Attendant in case of timeout unsuccessful line monitoring inizialization):

In addition, after receiving the message of Init_complete from the CLient,  the following line is produced (Attendant Server Log → Attendant sending to client an empty list of controlled lines):

Article ID: 644
Last updated: 28 Jan, 2019
Revision: 1
Views: 518
Print Export to PDF Subscribe Share
This article was:  
Prev   Next
How to remove the ringback tone for calls landing to QME/IVR SIP...     The SIP invite coming from the CUCM and directed to the QME is...