Product: CallPath Dialer Version: 2.02.01 Package Name: edrw1903.exe Size: 1119541 (1093Kb) Level: 1903 How to install: download the self extracting file, edrw1903.exe, to a temporary directory. Run it from any command line and follow the prompts. This will start an InstallShield Wizard to guide you through the installation process. Fixes: Defect 8180 Symptom/Impact - When an Agent Logged ON and processing both INBOUND and Preview Dialing calls Logs off the system, the Dialer intermittantly cores. Problem - Program Defect. Workaround - None. Solution - When the destructor on a TadsOutbound object is called a pointer to the Tads_ThreadCond semaphore object is deleted if it is valid. However, the constructor was setting the pointer to null as the semaphore is not accessed in Preview Dialing. By instantiating this pointer to a valid object that core was eliminated. Defect 8096 Symptom/Impact - When running Power Dialer in PowerCallsPerAgent > 1 mode, the dialer was only attempting to send calls answered by a customer to the agent that had prompted the call to be dialed. What would occur in the situation where multilple calls launched on 1 agent's behalf is that the calls that did not get transfered to the agent would be abandoned. This caused a high rate of NoAgentAvailable calls, and agents across the queue were not receiving calls in a consistant manner as their outbound calls would not reach a customer. Problem - Design Error Workaround - None. Solution - Change the agent selection algorythm to select the next agent in PENDING_OUTBOUND state that is not currently involved in a call. This will ensure that multiple calls launched and answered for 1 agent will be serviced immediately by multiple agents. This will reduce not only the NoAgentAvailable abandoned calls, but will keep agents participating in the campaign consistantly active in customer calls. (2.3) APARs/Internal Problems Fixed this LEVEL 99/09/13 -------------------------------------------------- APAR/Internal# Description of Symptom -------------- ---------------------- APAR IC24678 Symptom/Impact - When Agent resumes are changed to delete/add agent skills to an Agent's resume who is actively processing calls in the system, SKBR could trap. Problem - Design Error Workaround - None. Solution - Change to the ReadINI() processing so that only the agent's delta is changed in QualifiedAgentList instead of doing a remove/add. The remove add was creating a corrupted agent in the List. Defect 8031 Symptom/Impact - When a skill is added to an Agent's resume in the INI file and TadsReadINI() is called, the agent is placed as qualified to handles calls from all queues that contain the added skill. However, if the Agent was in available state and calls are queued for the new skill, the agent was not selected to handle a call. Problem - Code Error. Workaround - Have agent logoff, then back on to the system. Solution - Change the TadsReadINI() processing to find a call for the agent if the agent is in available state and calls exist on the queue. Defect 8031 Symptom/Impact - When an Agent Skill,LEVEL combination is removed from the INI file and TadsReadINI() is called the agent is only removed from the specific Skill,LEVEL queue. The Agent remains in other Skill,LEVEL queues in which he previously was qualified for. Problem - Code Error. Workaround - Have agent logoff, then back on to the system. Solution - Change the TadsReadINI() processing to remove the agent from all associated skill queues that contain the removed skill. Defect 8017 Symptom/Impact - An EnqueueResponseEvent was not being generated in some failure cases. Problem - Code Error. Workaround - None. Solution - Generate the event in all failure cases. Defect 8016 Symptom/Impact - A TadsDialCompleteEvent was not being generated in some cases. Problem - Code Error. Workaround - None. Solution - Generate the event in all failure cases. APAR IC24537 Symptom/Impact - When an application issues an TadsQueryACDStatus or receives a TadsACDStatusEvent the Available agent count could be incorrect as to how many agents are actual in the available state for that queue. Problem - Code Error. Workaround - None. Solution - Changes to the code so that the incrementing and decrementing the count of available agents remains accurate. APAR IC24533 Symptom/Impact - When an agent logs off during the transfer of an outbound power dial, it is possible for the SKBR/Dialer daemon to trap. Was being caused one thread removing the Agent for a list while another thread accessed a pointer to it. Problem - Code Error. Workaround - None. Solution - Changes to the code to reinitialize the pointer to the working agent prior to accessing the object. APAR IC24203 Symptom/Impact - If agent that is actively servicing calls attempts to call TadsRequestACDAction(AGENT_LOGOFF) the SKBR/Dialer daemon traps as 1 thread would remove the agent while other threads were still accessing it. Problem - Design Error Workaround - Have the Agent Application make the agent UNAVAILABLE before issuing LOGOFF. Solution - Ensure that the agent list is locked correctly in the code multiple thread are not accessing the same agent at the same time. APAR IC24204 Symptom/Impact - Under heavy load it is possible to have the SKBR/Dialer Daemon enter a deadlock state as multiple threads access the same semaphores at the same time. Problem - Design Error Workaround - None. Solution - Code change to clean up semaphore locking problems. APAR IC24205 Symptom/Impact - Under heavy load in Power Dialing mode it is possible to have 2 thread access the same Call in the system. 1 thread is removing the call at the same time that the 2nd thread is trying to use it. Once the first thread removes this from memory the second thread accesses invalid data. Problem - Design Error Workaround - None. Solution - Code change to clean up semaphore of the Call list and ensuring that the same call is not accessed by multiple threads. APAR IC24206 Symptom/Impact - The TadsGetOutboundCall() API specifies that a wait time value of -1 would block forever. This was not the case and the API would not block at all, causing a timing problem internally to the dialer, resulting in a trap. Problem - Design Error Workaround - Issue the API with another value. Solution - Code change to have the API block for 24hrs. on a call with waittime = -1. APAR IC24207 Symptom/Impact - In POWER dialing mode it is possible to have the same call (customer number) serviced by multiple IVR ports. This causes the customer do be called multiple times if a retry mechanism is enabled. Problem - Design Error Workaround - None. Solution - Code change to ensure that the call being made is marked as already being serviced by an IVR port. APAR IC24207 Symptom/Impact - If the csebprof.ini is modified to delete an actively working agent, and TadsReadINI() is then called the system traps. Problem - Design Error Workaround - Only issue TadsReadINI() on a quiesced system. Solution - Clean up the TadsReadINI() code to ensure that agent objects are not deleted out from under other threads. APAR IC23986 Symptom/Impact - When Dialer is performing multiple POWER dial calls per agent, it is possible to have 2 calls transfered to the same agent at the same time, resulting in a transfer failure on 1 of the calls. Problem - Design Error Workaround - None. Solution - Mark the Agent as selected upon receipt of the first TadsSetDialResult(ANSWERED), forcing the second to find another available agent. Defect 7419 Symptom/Impact - When only Dialer function is installed in a system, API call to TadsRequestEnqueue with reason ENQUEUE_CALL was incorrectly being accepted. The code will not return RC=551 (function_not_available) Problem - Code Error. Workaround - None. Solution - Changes to the TadsRequestEnqueue API to correctly check the functions installed prior to accepting the request. Defect 7235 Symptom/Impact - The SKBR daemon would abend on a call to TadsSetEventMonitor for TADS_AGENT_STATUS_EVENT with a resource equal to the agents directory number. Problem - Code Error. Workaround - None. Solution - Changes to the SetEventMonitor code so that a semaphore for the agent is locked prior to updating the monitor list. Defect 7128 Symptom/Impact - In previous versions of this code a call enqueued without a definitive skill level (ie. ENGLISH) had a default skill value of 10. However, if agent skills were specifically defined to be certain levels (ie. ENGLISH,5), the enqueue request would fail, if no agent had a Skill level of 10. Support for the NOT keyword in a skills expression is no longer supported beginning with this version of the code. Any skills expression can be constructed with the AND & OR keywords. Problem - Design Error. Workaround - None. Solution - Change the default values for skills that are input to the system without skill levels attached. Skills in a enqueue request that do not specify a skill level will default to an internal value of 1 so that any agent can service the request. PMR 67893 Symptom/Impact - Code abends when the AgentName field in the TADSSKBR_AGENT_RESUMES section of the INI file is missing. Problem - Design Error. Workaround - None. Solution - Put in the defensive code to eliminate the abend. Code now enforces the Maximum length of the AgentName field as documented in the API. Any AgentName field larger than 8 char- acters will now be truncated to 8. PMR 72504 Symptom/Impact - An inbound call from monitored AgentA to monitored AgentB causes the SKBR Daemon to exit abnormally on disconnect. Problem - Design Error. Workaround - None. Solution - Code was accessing invalid data on the Disconnected event. Thus in the Window NT environment the SKBR Daemon would simply terminate with no indication of a trap. PMR 70335 Symptom/Impact - Agent is placed in WORK_NOT_READY state after consultation call, even though customer is still on the line. Problem - Design Error. Workaround - None. Solution - By checking for the correct Call ID's on a disconnected event the code will now keep the Agent in ACD_CALL state if the the Agent still has the Customer on the line. PMR 71350 Symptom/Impact - SKBR does not generating Agent Status events for application monitoring for them. Problem - Program Error. Workaround - None. Solution - Problem was caused by numerous changes to this area of the code. Code has been changed to correctly generate Agent Status events. PMR 59750 Symptom/Impact - SKBR traps when reading an agents skills list longer than 256 characters. Problem - Design Issue. Workaround - Ensure the agents skill list is shorter that 256 characters. Solution - Dynamically allocate storage for the skills list being read in so it can be as long as required. PMR 70229 Symptom/Impact - SKBR was translating the DIALRES number for EnqueueResponseEvents to the LOCAL agent extension. This causes a problem in an IS-ICT scenerio where the call is enqueued to SKBR on another Switch. Problem - Design Issue. Workaround - None. Solution - Add a parameter of AgentExtTranslation = ON or OFF to the TADSSKBR section of the INI. This will enable those apps that are only in a single switch enviroment to specify that the the number to transfer to returned in the EnqueueResponse msg is translated to the agents DN. If this parameter is OFF then the fully qualified agent phone number will be returned. Files in service: csesdlr.txt csesdlr.txt bin\csesskbr.exe bin\skbrtool.exe bin\dialer.dat