|
This topic is true also for MonFax which uses the same settings to decide when to pop-up, except that the name of the file is the name set in and it save the last updated call record to MonFaxLastUpdatedRecord in MONTEl.INI.
Starting up
Notify checks BackgroundModePopupLevel to decide if it should pop-up on all calls, the current logged in user's calls (the default setting) or no calls at all.
Notify counts records as the position or a call record in a personal users PABXDCR.DAT starting at 0 (for the start of file) through to the last record number. Record 0 is always ignored, but exists as a marker, so the Notify knows that it has a network connection.
As Notify loads up, it does a background check to see which is the record it should treat as the 'previously last updated record'. If QueuePopupsWhileMonTelIsOff is true then it does some preliminary checking, otherwise it just treats the most recent record (the top or highest record number) as the 'previously last updated record'.
If QueuePopupsBackToRecordDate is set then Notify finds the lowest record above this date and time specified there. If QueueOnlyFromLastUpdatedRecord is true, then it will check the MONTEL.INI setting to find the last updated record recorded there and if it is more recent it will use that record number as the 'previously last updated record'.
Running
Once Notify is running, if BackgroundModePopupLevel is not set to 0 (the default is 1) then Notify starts its regular heartbeat to check if call records have been added, or there are any new ones added to the file since the record it now counts as the 'previously last updated record'.
First of all if check the last record in the file to see if this has a greater number than the 'previously last updated record'. If so then, starting with the next record number after the the 'previously last updated record', it checks to see if the call record has been updated (by a marker flag left in the users call record file). If it hasn't, then if PopupIncomingAndOtherCalls is true, then if will 'try to popup' that record. Or if PopupCostThreshHoldAllowed is true, which is the most usual setting, then it will check further to see if the duration of the record has exceeded MinimumDurationForPopup (note the default is 0). If it has then it checks to see if either the cost of the call reported by the PABX or the calculated cost of the call exceed of are equal to PopupCostThreshHold. Only then it will 'try to popup' that record.
Trying to pop-up that record.
Notify checks to see that FlashInsteadOfPopUp is set. If is is set to one then the Icon on the system tray will flash, alerting the user to click instead to see the pop-up. Otherwise it goes ahead with the pop-up. (MonTel32.exe checks that PopupWhenToolBarMinimisedOnly is true, or if so won't go ahead with the pop-up unless it is minimised on the task bar.)
If it successfully pops up the call record then treats this record as the 'previously last updated record' and continues to check call records until it has tested the top or most recent record in the file.
When the Infobox is updated, it records 'a marker flag' in the user's call record file. If the user cancels the pop-up, then the marker fag is not set, and the call record will pop-up next time Notify is started.
Shutting down.
When Notify shuts down, it sae the record number of the 'previously last updated record' in MONTEL.INI, so it can refer to it next time it starts if needed.
Forcing
When users are able to change their background settings, there may be a need to force some of these options. The following settings can be found in the Security section of PABX.INI (see EdIni32).
ForceQueuePopupWhileMonTelIsOff
ForceQueuePopupsBackToRecordDate