Pages

Showing posts with label Dialer (OCS). Show all posts
Showing posts with label Dialer (OCS). Show all posts

Monday, 26 October 2009

Agent Callback Error: Agent moved to another campaign

What happens if the agent has personal callback in Campaign A and moved to campaign B…? Interesting question from the customer..

Tested and found that OCS fails with Agent Callback error in this scenario :-( What can we do now?

Fortunately, got workaround solution using treatments..

  • Configured treatment for Agent Callback error and assigned to Group

My customer is happy with this work around solution..if you have any other solution, let us know..

AutoCPA Call Progress test tool

 

Reference: http://www.dialogic.com/support/helpweb/dxall/iw1365.aspx

Issue overview:


The AutoCPA tool allows the testing and tuning of various call progress parameters outside of a production environment by using a set of recordings that represent a real site. This type of information may be useful when troubleshooting call progress analysis issues, for example.  
The AutoCPA tool performs call progress analysis (CPA) using the dx_dial API method with two voice resources (one voice resource for playing the file and the other for performing CPA) and recorded PCM files. The tool does not require any network resources and can be configured for various test scenarios. The tool can be loaded with multiple recorded PCM files and logs detection results directly to a command window and output text file for analysis.

Recordings:

Users of the AutoCPA tool must gather recordings themselves for testing – the AutoCPA tool does not make the recordings itself. Recordings are normally gathered from another system in PCM 8K. The recordings should commence when the application starts call progress analysis and should end when the call has completed such that all the audio is captured.
Alternatively, the Dialogic® SC Record tool can be used to record ALL the call activity on a particular voice channel for a certain amount of time. The user must then separate the calls into individual files using an audio editor. Note all recordings must have the PCM extension – otherwise the AutoCPA tool will not recognise the files.    A link to SC Record utility can be found here.
Once completed, the PCM recordings can then be moved into the PCM directory of the AutoCPA tool (or where specified in the config.inf file – PCMdir field)

Configuration:

The AutoCPA configuration (where applicable) is done through config.inf file, which is loaded upon initialization. Not all the parameters in the config.ini file are common between Dialogic® DM3 series Media Boards and Dialogic® JCT series Media Boards; for more information, visit the programming library documentation. The settings include:
• General config: PCM directory, log output, voice resources.
• DX_CAP Struct Settings
• CPA Qualification Templates (JCT Media Boards only – configuration of DM3 Media Boards is done manually through the protocol  configuration file)
• Global Tone Definitions (user and pre-defined)
The following settings are required to run the AutoCPA tool – all remaining settings will be set to their default values if commented out.
PCMdir = PCM                 # Directory where PCM recorded files are stored
LogFile = Results.txt      # Filename to log output
PlayDev = dxxxB1C1     # Voice device used for playing recorded PCM file
CallpDev = dxxxB1C2    # Voice device used for call progress
Usage and output:
Once the recordings have been gathered and the configuration file has been saved, run the AutoCPA tool in a command prompt or double-click the file - no command line arguments are needed.
Once the tool has processed the PCM recordings in the specified PCM directory, the results will be written to the Results.txt file (or the location specified in the config.inf file – LogFile field). The results log file will contain the detected result for each recording in the following format:
[Recording directory] \ [recorded filename] * [detection result] * [detection time]
For example, the detection result:  PCM\test.pcm * CON_PVD * 6.360 means: test.pcm was detected as a Positive Voice Detection (PVD) at 6.360 seconds into the file.  The detection time can be useful, for example, to diagnose mis-detection issues that may have been caused by background noise.

What are the problem types that AutoCPAcan be used for?

  • Mis-detections and tuning while using the DX method of CPA
  • DTMF mis-detections and tuning
  • Tone Definitions mis-detections and tuning


Product list:

Dialogic® DMV Media Boards
Dialogic® JCT Media Boards
Dialogic® Host Media Processing (HMP) Software for Windows®

GLOSSARY OF ACRONYMS / TERMS
CPA – Call Progress Analysis
PVD – Positive Voice Detection
PAMD – Positive Answering Machine Detection

Tuning Call Progress Analysis (CPA) templates for Dialogic® JCT, DM3 and Host Media Processing (HMP)-based boards

Reference: http://www.dialogic.com/support/helpweb/dxall/tn924.aspx

Summary:
This technote provides instructions for modifying the Positive Answering Machine Detection (PAMD) and Positive Voice Detection (PVD) qualification template parameters on Dialogic® Springware, DM3 and Host Media Processing (HMP)-based boards in seeking higher successful PAMD and PVD rates.


Overview:
Call Progress Analysis (CPA) is the process used to automatically detect whether an answering machine or live voice answered a call. Dialogic® products have the ability to detect these conditions with audio streams that can come over a Public Switched Telephone Network (PSTN) connection or IP connection. Positive Answering Machine Detection (PAMD) and Positive Voice Detection (PVD) are classifications of the Call Progress Analysis feature that enable the application to determine whether a call has been answered by an answering machine or a live person.
The original PAMD and PVD algorithms take into account variables such as the length of the greeting and the background noise level. The current business and home environments have significantly shifted from analog to digital / IP phones so that the original algorithms no longer produce satisfactory results. This technote provides instructions for modifying the PAMD and PVD qualification template parameters on Dialogic® Springware, DM3 and Host Media Processing (HMP)-boards to help accomplish higher successful PAMD and PVD rates. The same procedure can be followed for Windows® and Linux service releases as well as the dx_dial or GlobalCall method of initiating Call Progress.

Qualification Templates:
The Call Progress Qualification Templates are a set of parameter definitions that control voice and answering machine detection. The same parameters are present in Dialogic® product lines including Springware, DM3, HMP-based boards and control detections regardless of using the DX or GC method. The Qualification Templates are broken down into two sections: PVD and PAMD. Tables 1 and 2 below contain all the parameters for both PVD and PAMD sections as well as the default and recommended values for each parameter. (Note: default values may change with new Service Updates. Always check System Release Update Guide for more information).

image

Modifying Qualification Templates Dialogic Springware:
When using a Dialogic® Springware board, PVD and PAMD qualification template modifications are only available via an undocumented API and can be modified without restarting the Dialogic service. In addition, qualification template settings are reset to the defaults each time the Dialogic service is restarted. Thus, it is required that any modifications be done upon application initialization.
There are two undocumented functions that can be used to view and modify the PVD and PAMD qualification template parameters: dx_setqualtmplate and dx_getqualtmplate. To set the parameter values of the PVD and PAMD templates a data structure needs to be created with the values from Tables 1 and 2 above. Pass each of the qualification data structures to the dx_setqualtmplate function with the voice board device and template ID. NOTE: The dx_setqualtmplate and dx_getqualtmplate functions are both undocumented API's and should be used at your own risk - Dialogic may change or remove the usage of these API's without written notice.

tn_qlt.pvd_qual.qminsnr = qminsnr;
tn_qlt.pvd_qual.qmaxsnr = qmaxsnr;
tn_qlt.pvd_qual.maxpk = maxpk;
tn_qlt.pvd_qual.maxring = maxring;
tn_qlt.pvd_qual.ringthres = ringthres;
tn_qlt.pvd_qual.pvdwin = pvdwin;
tn_qlt.pvd_qual.pvdthresh = pvdthresh;
tn_qlt.pvd_qual.pvdrblow = pvdrblow;
tn_qlt.pvd_qual.pvdrbhig = pvdrbhig;
tn_qlt.amd_qual.maxansiz = maxansiz;
tn_qlt.amd_qual.maxans2 = maxans2;
tn_qlt.amd_qual.maxans3 = maxans3;
tn_qlt.amd_qual.lohiss = lohiss;
tn_qlt.amd_qual.hihiss = hihiss;
tn_qlt.amd_qual.bhparm = bhparm;
tn_qlt.amd_qual.cvthr1 = cvthr1;
tn_qlt.amd_qual.cvthr2 = cvthr2;
tn_qlt.amd_qual.maxcvth = maxcvth;
tn_qlt.amd_qual.nmaxbrod = nmaxbrod;
tn_qlt.amd_qual.nmaxerg = nmaxerg;
tn_qlt.amd_qual.maxsil = maxsil;
tn_qlt.amd_qual.voice_thres = voice_thres;
tn_qlt.amd_qual.sil_thres = sil_thres;
tn_qlt.amd_qual.bandf_low = bandf_low;
tn_qlt.amd_qual.bandf_high = bandf_high;
dx_setqualtmplate(dev, qual_template, &tn_qlt)
dx_getqualtmplate(dev, qual_template, &tn_qlt)
where…
dev – voice board device handle (dxxxB1)
qual_template – qualification template ID- PVD (5) or PAMD (11)
tn_qlt – pointer to the qualification template data structure
Please see attached QUAL.C source code for complete usage.
DM3:
When using a Dialogic® DM3 board, all PVD and PAMD qualification template modifications are ONLY available via config files and can NOT be modified without restarting the Dialogic® service. The following steps will be used to modify DM3 qualification templates:
  1. As a precaution, save a backup copy of the fcd, pcd and config files which you will be editing
  2. Scroll down to the bottom of the .config file to the [sigDet] section that begins with “!GENERIC QUAL TEMPLATE – For R4 User Defined Tones. Note: There are several [sigDet] sections in the .config file so be sure to find the correct one.
  3. Add "init iNNN” immediately below the [sigDet] line where iNNN is the following: Voice Channels iNNN
    E1 – 60 Voice Channels i60
    E1 – 120 Voice Channels i120
    T1 – 48 Voice Channels i48
    T1 – 96 Voice Channels I96
  4. Scroll down to the bottom of the [sigDet] section, and add “DeletePvd 128193”. The number represents the default PVD qualification ID defined for DM3 boards.
  5. On the next line, add the new PVD qualification template parameters followed by "CreatePvd".
  6. On the next line, add “DeletePamd 106561”. The number represents the default PAMD qualification ID defined for Dialogic® DM3 boards.
  7. On the next line, add the new PAMD qualification template parameters followed by "CreatePamd". 
    [sigDet]
    init i96
    !Delete the default PVD qualification template
    DeletePvd 128193
    !User defined Pvd template.
    PvdDesc signalId 128193
    PvdDesc signalLabel 0000
    PvdDesc minSnr 50
    PvdDesc maxSnr 600
    PvdDesc maxPk 2
    PvdDesc maxRing 5
    PvdDesc ringThresh 10000
    PvdDesc PvdWin 8
    PvdDesc PvdVthresh 5000
    PvdDesc PvdRbLow 380
    PvdDesc PvdRbHigh 510
    CreatePvd
    !Delete the default PAMD qualification template
    DeletePamd 106561
    !User defined PAMD template.
    PamdDesc signalId 106561
    PamdDesc signalLabel 0000
    PamdDesc minRing 190
    PamdDesc mask 1
    PamdDesc maxAnsiz1 159
    PamdDesc maxAnsiz2 159
    PamdDesc maxAnsiz3 159
    PamdDesc loHiss 22
    PamdDesc hiHiss 16
    PamdDesc bhParm 5
    PamdDesc cvThresh1 80
    PamdDesc cvThresh2 165
    PamdDesc maxCvThresh 390
    PamdDesc nMaxBroad 2
    PamdDesc nMaxErg 65
    PamdDesc maxSilence 45
    PamdDesc voiceThresh 25
    PamdDesc silenceThresh 5000
    PamdDesc rjFbandLow 0
    PamdDesc rjFbandHigh 0
    CreatePamd
  8. Save changes to the .config file and exit text editor.
  9. Using a text editor, open the .pcd file corresponding to the .config file you just modified.
  10. Scroll down to the [COMP sigdet] section and change the InitOption value from YES to NO. The section should be revised as follows:
    [COMP sigdet]
    {
    Attribute :std_ComponentType:0x07
    NumInstances :96
    StartInstanceNum :1
    ConfigOption :YES
    InitOption :NO                     <----------- Change from YES to NO
    DependentComp :waveAnalyser
    }
    Note: NumInstances will vary depending on the board in use. In this example, the value reflects a T1 board with 96 channels.
  11. Save your changes to the .pcd file and run the fcdgen utility to create an fcd file:
    fcdgen filename.config
  12. Restart DCM for changes to take effect
    Please see attached DM3 Config File for complete template changes.

Host Media Processing (HMP):
When using Dialogic® HMP-based boards (i.e., Dialogic® based on or otherwise incorporating Dialogic® HMP software), all PVD and PAMD qualification template modifications are ONLY available via config files and can NOT be modified without restarting the Dialogic® service. The following steps will be used to modify HMP qualification templates:
Note: 4r4v4e4c4s4f4i_hib_pur pcd/fcd/config file will be used as an example in this procedure. Your pcd/fcd/config file names likely will change based on license and system release used.
  1. As a precaution, save a backup copy of the fcd, pcd and config files which you will be editing
  2. Open the Host's PCD file (4r4v4e4c4s4f4i_hib_pur.pcd) and search for "COMP sigdet"
  3. Once you've found this section change the InitOption from YES to NO
  4. Also, while here note the NumInstances, you will need to reference this in the config file.
    [COMP sigdet]
    {
    Attribute :std_ComponentType:0x07
    NumInstances :4                      <-------------Note this value
    StartInstanceNum :1
    ConfigOption :YES
    InitOption :NO                           <----------- Change from YES to NO
    DependentComp :waveAnalyser
    }
  5. Save and exit the PCD file and open the hosts config file (4r4v4e4c4s4f4i_hib_pur.config)
  6. Search for the "[sigDet]" section of the config file - if the section does not exist add it at the bottom of the config file
  7. Add "init iNNN” immediately below the [sigDet] line where iNNN is the NumInstances noted in the pcd file
  8. On the next line add “DeletePvd 128193”. The number represents the default PVD qualification ID defined for HMP.
  9. On the next line, add the new PVD qualification template parameters followed by "CreatePvd".
  10. On the next line, add “DeletePamd 106561”. The number represents the default PAMD qualification ID defined for HMP.
  11. On the next line, add the new PAMD qualification template parameters followed by "CreatePamd".
    [sigDet]
    init i4
    !Delete the default PVD qualification template
    DeletePvd 128193
    !User defined Pvd template.
    PvdDesc signalId 128193
    PvdDesc signalLabel 0000
    PvdDesc minSnr 50
    PvdDesc maxSnr 600
    PvdDesc maxPk 2
    PvdDesc maxRing 5
    PvdDesc ringThresh 10000
    PvdDesc PvdWin 8
    PvdDesc PvdVthresh 5000
    PvdDesc PvdRbLow 380
    PvdDesc PvdRbHigh 510
    CreatePvd
    !Delete the default PAMD qualification template
    DeletePamd 106561
    !User defined PAMD template.
    PamdDesc signalId 106561
    PamdDesc signalLabel 0000
    PamdDesc minRing 190
    PamdDesc mask 1
    PamdDesc maxAnsiz1 159
    PamdDesc maxAnsiz2 159
    PamdDesc maxAnsiz3 159
    PamdDesc loHiss 22
    PamdDesc hiHiss 16
    PamdDesc bhParm 5
    PamdDesc cvThresh1 80
    PamdDesc cvThresh2 165
    PamdDesc maxCvThresh 390
    PamdDesc nMaxBroad 2
    PamdDesc nMaxErg 65
    PamdDesc maxSilence 45
    PamdDesc voiceThresh 25
    PamdDesc silenceThresh 5000
    PamdDesc rjFbandLow 0
    PamdDesc rjFbandHigh 0
    CreatePamd
  12. Save and exit the config file and run the fcdgen utiltiy to create an fcd file:  fcdgen 4r4v4e4c4s4f4i_hib_pur.config
  13. Restart the Dialogic HMP services.

Please see attached config file HMP Config File for completed template changes.
Related Documentation:
It is also recommended to review the application note: Call Progress Analysis: Global Call API Usage and Protocol Configuration
Glossary of Acronyms and Terms:
Global Call CPA — Global Call API function calls perform CPA using an attached voice device and report CPA results via the GCEV_MEDIADETECTED and GCEV_DISCONNECTED events. 
Voice API CPA — The Voice API dx_dial() function performs CPA using a voice resource directly and reports results via the TDX_CALLP event.
Qualification template -- Definitions used by the PAMD and PVD algorithms in detecting voice detection

 

Wednesday, 23 September 2009

OCS Call Result – Enumeration Values

Call Result Enumeration

Description

Abandoned

21

Agent CallBack Error

47

All Trunks Busy

10

Answer

33

Answering Machine Detected

9

Bridged

31

Busy

6

Call Drop Error

42

Cancel Record

52

Cleared

19

Conferenced

2

Consult

24

Converse-On

30

Covered

29

Deafened

49

Dial Error

41

Do Not Call

51

Dropped

26

Dropped on No Answer

27

Fax Detected

17

Forwarded

23

General Error

3

Group Call Back Error

48

Generated by OCS internally when a call record is rescheduled according to a “Campaign Callback” request from the desktop application; however,
OCS cannot find an available agent to receive the callback record.

Held

50

No Answer

7

Ring without answer at destination.

No Dial Tone

35

No Established Detected

38

No Port Available

44

No Progress

36

No Ring Back Tone

37

NU Tone

34

Ok

0

Call result is unset; that is, the call record has not
been dialed.

Overflowed

20

Pager Detected

39

PickedUp

25

Queue Full

18

Redirected

22

RemoteRelease

5

Silence

32

SIT Detected

8

SIT IC(Intercept)

13

SIT Invalid Num

11

SIT NC (No Circuit)

15

SIT RO (Reorder)

16

SIT Unknown Call State

14

SIT VC (Vacant Code)

12

Stale

46

Call result is marked as Stale in the following
scenario:
1. The following timer has expired:
stale_clean_timeout
2. OCS marks the call result as Stale if an
outbound call was transferred from:
• a queue to a DN which is either not registered
for OCS or does not have a logged in agent.
• an agent in an outbound campaign to a DN
which is not registered for OCS.

Switch Error

43

System Error

4

Transfer Error

45

Transferred

1

Unknown Call Result

28

Default. All records should be set to this call result
before starting a campaign.

Wrong Number

53

Intended person cannot be reached at this number.
This call result is sent by the desktop application
and is not detected by the dialer

Wrong Party

40

Call is answered but by a wrong party; this call
result is sent by the desktop application and not
detected by the dialer.

Friday, 13 March 2009

Attaching Record information to OCS Record History logging

Record History logging provides you with additional reporting options for

calling lists. This logging process does not use database access to write logs;

instead it uses flat (text) files that the customer defines. You can turn enable this logging for selective calling lists.

How to configure Record history logging:

  • In CME, select the calling list
  • Go to Annex Tab and create section ‘default’, if not available already
  • Create option ‘dial_log_destination’ with value as ‘Folder Path’ to store record history log files
  • Create Option ‘dial_log_delimiter’ with value as ‘,’ to create comma separated delimiter between the fields

By default, it attaches the below mentioned mandatory fields

  • record_id
  • contact_info
  • contact_info_type
  • record_type
  • record_status
  • call_result
  • attempt
  • dial_sched_time
  • call_time
  • daily_from
  • daiy_till
  • tz_dbid
  • agent_id
  • chain_id
  • chain_n

If you want to attach user-defined fields in the record history logging, please follow the steps below

  • In CME, select the field .
  • Go to Annex Tab and create section ‘default’, if not available already.
  • Create Option ‘send_attribute’ with value as field name.

Record History log will then have the value with key as field name and value.. :-)

I am playing with Genesys 8.0 and planned to cover the details in the coming weeks.. keep watching this space..

Wednesday, 4 March 2009

Values of GSW_STAT_EVENT in log file

Last week, customer reported an issue 'Campaign Callback rescheduled call details are missing' in the canned reports. After few hours of log analysis, it seems to be a defect in Genesys Dialer (OCS) and raised SR with support team.

  I found this tabular list very useful while debugging reports for dialer solution and hope you will find it useful too

 CampaignActivated = 1,

CampaignDeactivated = 2,

DialingStarted = 3,

DialModeChanged = 4,

DialingStopped = 5,

WaitingAgentStart = 6,

WaitingAgentOver = 7,

WaitingPortsStart = 8,

WaitingPortsOver = 9,

WaitingRecordsStart = 10,

WaitingRecordsOver = 11,

SystemErrorStart = 12,

SystemErrorOver = 13,

CallCompleted = 14,

LeadProcessed = 15,

CallbackScheduled = 16,

CallbackCompleted = 17,

CallbackMissed = 18,

AgentError = 19,

RecordScheduled = 20,