Next Topic

Previous Topic

Home

Book Contents

Book Index

How to increase the speed of the MonTel server

Normally, there is no need to increase the speed of the MonTel server, as it is a pure DOS application, and the speed of processing and file handling it undertakes is several orders of magnitude greater than the speed of the serial input. This is because at 1200 baud, the server is receiving about 1 Kbit per second. Typically a network file server may be able to received data 100 times faster (assuming normal network use, average hard drive speed). Providing that MonTel is not spending most of its time responding to the serial port, it should be able to process the information sent to it. Note however, the faster the serial baud rate the greater the percentage of processing time devoted to it.

Older computers were not considered to be able to reliability handing data above 2400 baud because of the computer could not respond fast enough to the requests of the older serial port cards. Running Windows would compound this problem. New serial port cards (16650AF and later) have a very small buffer that allows the computer to respond to much faster speeds.

Since phone call traffic comes in fits and starts, the 8k buffer in the MonTel server should be sufficient to a reasonable number of calls (about 100 call records depending on the size of the each call record exported by the PABX), while it continues to process other call records.

In a situation where the data was being exported continuously, and the network performance was poor, or the speed of the computer was not great, the MonTel server may fail to keep up with the traffic, giving frequent or continual buffer full messages in the status line, and occasionally losing or finding corrupted call record data.

Note that there were significant improvements made in Build 171 of the MonTel Server, that was first included in Version 2.9.0 pre release 34 of the MonTel System.

In these situations there are number of things that can be done to effectively speed up the MonTel server.

  • First of all, the simplest and most effective step is to reduce the baud rate. This is for two reasons. Firstly to slows down the flood of data, and makes the PABX responsible for buffering the data. Secondly, on a lower speed computer, the MonTel server may spend so most of its time servicing the interrupt that announces a new character at the serial port, that it runs out of time to do the other tasks. Having the PABX vendor or service agent change the baud rate, and adjust the baud rate in the PABX.INI file will make a significant difference. If MonTel is not keeping up with a baud rate of 1200, then this would suggest that there are some very serious network (or configuration) problems. As well the amount of calls records that MonTel needs to deal with can be reduced if the internal traffic is not exported from the SMDR port.
  • Secondly, the network may be un-reliable or slow, causing MonTel to wait while it saves a call record or other data, while at the same time the buffers fills up. The performance of the File Server, the network connection or the network client software on the local computer will have a major impact on the speed of the MonTel Server. How to resolve this is a major subject, and is best left to network specialists.
  • Thirdly, the MonTel Server is designed to run (by itself) on a DOS computer. However, it will work inside a DOS box on both Windows 9x and Windows NT (2000 et al), and does contain code to surrender the time slice, so that it will allow other applications to still perform on these machines. (Using pure DOS is strongly recommended). If the MonTel server is running on a computer, that is also running other applications, the these other applications are effectively reducing the performance of the whole system. (So the load on the local computer should be considered). In addition a Virus checker, may be attempting to scan the entire Master Call Record Database each time the Server saves a call record, (which would have disastrous effects on performance) or may be taking more system resources than it should at various times as it performs local scans.
  • Finally, and with the least effect, there are settings in the MonTel server which can be modified to reduce the amount of data being saved across the network, or reduce the amount of information that MonTel has to process. These settings are listed below, along with the side effect of turing them off:

PABX.INI setting

Cause and effect.

ReadOneCharacterAtATime = 0

This is the only setting that is likely to have a significant effect. If it is set to 1 then the MonTel Server is reading the serial port in the pre-build 170 style, which is slower than reading several characters at a time from the serial buffer. By default the setting is 0.

LogAllErrorMessages = 0

Setting to 0 will slightly reduce traffic, as no error messages will be logged to PABXERR.LOG (only the start up time of MonTel will be recorded).

MontelDataRefresh = 10

Increasing this will reduced the number network queries from clients, thus (very slightly) increasing available network bandwidth, while reducing the performance of the clients.

NumberOfDataRefreshesToCheckIni = 6

Not worth increasing.

SaveRawData = 0

Set to zero will save some network traffic, and MonTel server time, by not saving the PABX.TXT file, which is the raw data received from the PABX. This data is NOT used by MonTel, and servers only as a record to help in problem solving.

FileLockRetry = 1

Reducing this will prevent MonTel from pausing as it retries the network, in the event that a file is temporarily lock. (too low a setting may result in lost data).

ServerAutoExport = 0

Make sure this is 0, UNLESS you really need raw data from the server for reporting. Remove also: ServerAutoExportFilePathName and ServerAutoDisbursmentCode.

UpdateInternalDataInSeparateFile = 0

Change to 0, and ask the PABX service technician to have the system NOT export any internal call data.

SaveOverFlowCalls = 0

Set this to zero. This will prevent MonTel from saving unknown extension information (that is extensions not in the PABX.INI file).

IgnoreExtNotInIniFileError=1

Set to 1, this setting will not display an error for call record hat does not have a matching extension in the PABX.INI file (It will throw it away if FirmSecurityAndPrivacy or SaveOverFlowCalls is set).

IgnoreInternalCalls = 1

Set to 1, this setting will cause the MonTel Server to ignore internal calls (i.e. not save them to disk).

In conclusion the best effect (meaning increasing the speed of the MonTel Server) can be had in order of effect by:

  1. Reducing the baud rate of the SMDR port on the PABX.
  2. Making sure that the PABX is NOT exporting internal traffic from the SMDR port.
  3. Increasing the performance of the Network and file server.
  4. Making sure that the local computer is not running unnecessary software applications or is being slowed by applications such as virus checkers.
  5. Upgrading the Local Computer (hardware) that the MonTel Server is running on.
  6. Changing some or all of the PABX.INI settings mentioned above.

------------------------------