Tuning CPA templates for HMP
HMP Introduction
Dialogic HMP Interface Boards enable all the flexibility of host-based media resources (scalable and licensed in single-unit increments) to mate with the network interface, providing developers and system integrators with a new level of configuration flexibility and cost efficiency. These boards provide the interfaces for digital and analog networks. This is a departure from traditional media span products that require onboard digital signal processors (DSPs) to provide media and audio transcoding resources, which creates fixed costs and often fixed or limited configurations of media to complement the network interface density.
JCT Models which have HMP enabled are D/4PCIUF and D/4PCIU4S
OVERVIEW
Call Progress Analysis (CPA) is the process used to automatically detect whether an answering machine or live voice answered an outgoing call. Dialogic products have the ability to detect these conditions with audio streams that can come over PSTN connection or IP connection. Positive Answering Machine Detection (PAMD) and Positive Voice Detection (PVD) are classifications of the Call Progress Analysis feature that enables 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 environment has shifted from analog phones to digital / IP phones so that the original algorithms no longer produce satisfactory results. This tech-note provides instructions for modifying the PAMD and PVD qualification template parameters on HMP, Springware and DM3 boards to accomplish higher successful PAMD and PVD rates. The same procedure should be followed for Windows and Linux service releases as well as the dx_dial or Global Call 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 through all the Dialogic product lines including HMP, DM3 and Springware 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: The default values may change in SU’s – check System Release Update Guide for more information).
Table 1: PVD Qualification Template Parameters
Parameters | Default | Recommended |
qminsnr | 50 | 50 |
qmaxsnr | 600 | 600 |
maxpk | 2 | 2 |
maxring | 5 | 5 |
ringthres | 10000 | 10000 |
pvdwin | 8 | 8 |
pvdthresh | 30 | 5000 |
pvdrblow | 380 | 380 |
pvdrhig | 510 | 510 |
Table 2: PAMD Qualification Template Parameters
Parameters | Default | Recommended |
maxansiz | 125 | 159 |
maxans2 | 50 | 159 |
maxans3 | 220 | 159 |
lohiss | 22 | 22 |
hihiss | 16 | 16 |
bhparm | 5 | 5 |
cvthr1 | 80 | 80 |
cvthr2 | 165 | 165 |
maxcvth | 390 | 390 |
nmaxbrod | 2 | 2 |
nmaxerg | 65 | 65 |
maxsil | 30 | 45 |
voice_thres | 25 | 25 |
sil_thres | 30 | 5000 |
bandf_low | 0 | 0 |
bandf_high | 0 | 0 |
MODIFYING QUALIFICATION TEMPLATES
Host Media Processing (HMP)
While using HMP, 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 proceedure - your pcd/fcd/config file names will change based on license used and system release.
As a precaution, save a backup copy of the fcd, pcd and config files which you will be editing
Open the Host's PCD file (4r4v4e4c4s4f4i_hib_pur.pcd) and search for "COMP sigdet"
Once you've found this section change the InitOption from YES to NO
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}
Save and exit the PCD file and open the hosts config file (4r4v4e4c4s4f4i_hib_pur.config)
Search for the "[sigDet]" section of the config file - if the section does not exist add it at the bottom of the config file
Add "init iNNN” immediately below the [sigDet] line where iNNN is the NumInstances noted in the pcd file
On the next line add “DeletePvd 128193”. The number represents the default PVD qualification ID defined for HMP.
On the next line, add the new PVD qualification template parameters followed by "CreatePvd".
On the next line, add “DeletePamd 106561”. The number represents the default PAMD qualification ID defined for HMP.
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
CreatePamdSave and exit the config file and run the fcdgen utiltiy to create an fcd file:
Restart the Dialogic HMP services.
Please see attached config file for completed template changes.
Glossary of Acronyms / 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 detections