Page 1 of 1

wrong disposition status in broadcast dialling

PostPosted: Wed Jul 17, 2013 8:48 am
by cbsys
Hi,

we run goautodial 64-bit centos 5, goautodial 2.1 from rpms

We have a broadcast campaign dialling outbound and some numbers are dead, marked as "congestion" and hangup cause 1 in the carrier log
This is completely correct because if the number was invalid we would get a "congestion" message back from the SIP carrier.

Unfortunately goautodial is marking these calls as NA (no answer) rather than DC (disconnected number)
This plays havoc with our reporting!

How do we ensure that ALL calls that are reported as congestion by the carrier are marked as DC status by the dialler ??

Re: wrong disposition status in broadcast dialling

PostPosted: Thu Jul 18, 2013 3:58 am
by DomeDan
Asked myself the same question almost exactly 2 years ago
and I wrote a patch to make vicidial flag some hangup causes as DC and that would also make vicidial handle them more quickly
because I would not have to wait the dial timeout http://www.vicidial.org/VICIDIALforum/v ... =4&t=19289

This was included in the svn trunk 2012-11-30
------------------------------------------------------------------------
r1891 | mattf | 2012-11-30 06:20:26 +0100 (fre, 30 nov 2012) | 1 line

Added Enhanced Disconnect logging for outside of the USA, disabled by default
------------------------------------------------------------------------

And as we know, goautodial is a bit behind the trunk,
the latest iso is at 120409-1136 (2012-04-09) so no enhanced disconnect logging feature there.
don't know if a update would get you a later trunk, maybe

else you can just apply the patch yourself

Good luck! :)

Re: wrong disposition status in broadcast dialling

PostPosted: Thu Jul 18, 2013 4:06 am
by cbsys
Dan,

yep that sounds exactly the same issue

Can I just copy and paste the script somewhere? or do I have to do a proper patch?

Re: wrong disposition status in broadcast dialling

PostPosted: Thu Jul 18, 2013 4:19 am
by DomeDan
find out if you already got the patch by finding your build look in the vicidial admin interface at http://your-server/vicidial/admin.php

the patch is just editing one line and adding two-three, don't remember
but if you want the fancy system setting to enable/disable it like it is in the trunk then you need more code maybe 50 lines

Re: wrong disposition status in broadcast dialling

PostPosted: Thu Jul 18, 2013 4:23 am
by cbsys
Dont think we will have it - its goautodial so is a bit behind!
VERSION: 2.4-309a
BUILD: 110430-1642

If I can just cut/paste a couple of lines that will be fine, I just need to know which file, and where to paste !

Re: wrong disposition status in broadcast dialling

PostPosted: Thu Jul 18, 2013 4:41 am
by DomeDan
This is an old patch file I found

Code: Select all
--- patches/FastAGI_log/FastAGI_log.pl.orig   2011-10-18 14:46:52.000000000 +0200
+++ patches/FastAGI_log/FastAGI_log.pl   2011-10-18 14:46:52.000000000 +0200
@@ -830,12 +830,14 @@
                   ### END - CPD Look for result for B/DC calls
                   ##############################################################
                   }
-               if ( ($PRI =~ /^PRI$/) && ($callerid =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) && ( ( ($dialstatus =~ /BUSY/) || ( ($dialstatus =~ /CHANUNAVAIL/) && ($hangup_cause =~ /^1$|^28$/) ) ) || ($CPDfound > 0) ))
+               if ( ($PRI =~ /^PRI$/) && ($callerid =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) && ( ( ($dialstatus =~ /BUSY/) || ( ($dialstatus =~ /CHANUNAVAIL/) && ($hangup_cause =~ /^1$|^28$/) ) || ( ($dialstatus =~ /CONGESTION/) && ($hangup_cause =~ /^1$|^19$|^34$/) ) ) || ($CPDfound > 0) ))
                   {
                   if ($CPDfound < 1)
                      {
                      if ($dialstatus =~ /BUSY/) {$VDL_status = 'AB'; $VDAC_status = 'BUSY';}
                      if ($dialstatus =~ /CHANUNAVAIL/) {$VDL_status = 'ADC'; $VDAC_status = 'DISCONNECT';}
+                     if ($dialstatus =~ /CONGESTION/ && $hangup_cause =~ /^1$/) {$VDL_status = 'ADC'; $VDAC_status = 'DISCONNECT';}
+                     if ($dialstatus =~ /CONGESTION/ && $hangup_cause =~ /^19$|^34$/) {$VDL_status = 'ADCT'; $VDAC_status = 'DISCONNECT';}
                      }
 
                   $stmtA = "UPDATE vicidial_list set status='$VDL_status' where lead_id = '$CIDlead_id';";


Its a bit hard to read the long lines, but the edited part is this:
|| ( ($dialstatus =~ /CONGESTION/) && ($hangup_cause =~ /^1$|^19$|^34$/) ) )
its in the IF statement, and this will catch hangup cause 1 and 19 and 34, you can add more if you want to
(be careful with the brackets its easy to miss one, and make a backup of the FastAGI_log.pl file)

and this who lines is added (as you can tell by the + symbol, that symbol should not be in the code)
if ($dialstatus =~ /CONGESTION/ && $hangup_cause =~ /^1$/) {$VDL_status = 'ADC'; $VDAC_status = 'DISCONNECT';}
if ($dialstatus =~ /CONGESTION/ && $hangup_cause =~ /^19$|^34$/) {$VDL_status = 'ADCT'; $VDAC_status = 'DISCONNECT';}

you can change ADCT to ADC or DC if you like, depends on what values you want to see in the database and reports

@@ -830,12 +830,14 @@ means that the patchfile displays rows 830 - 842, might be +/- some rows depending on the version of the script

Re: wrong disposition status in broadcast dialling

PostPosted: Thu Jul 18, 2013 5:25 am
by cbsys
Thats perfect!
Thanks for your help!

Re: wrong disposition status in broadcast dialling

PostPosted: Thu Jul 18, 2013 7:11 am
by DomeDan
Just tried to "yum update && yum upgrade" my test install of goautodial
and that pushed vicidial to VERSION: 2.7-401a BUILD: 130508-2256 and that includes Enhanced Disconnect Logging

Re: wrong disposition status in broadcast dialling

PostPosted: Thu Jul 18, 2013 7:19 am
by cbsys
Unfortunately mine isnt quite so straightforward.

Yum wont do updates yet because theres a few things now requiring php 5.3 and the system is running php 5.1
I will need to clean a few things up first to resolve all the dependancies!

Re: wrong disposition status in broadcast dialling

PostPosted: Thu Jul 18, 2013 7:35 am
by DomeDan
Oh, dependency problems sucks.. I guess its easier to edit the code in the script :P

Re: wrong disposition status in broadcast dialling

PostPosted: Thu Jul 18, 2013 7:37 am
by cbsys
yeah, I already manually edited it anyway!

thanks!

Re: wrong disposition status in broadcast dialling

PostPosted: Thu Jul 18, 2013 1:11 pm
by williamconley
if you have not modified your web pages or database, you could do a mysqldump (or a vicidial backup) and reinstall with a later version, then restore your DB and upgrade it to match the fresh install. then you'd have a clean install with all your data.

Re: wrong disposition status in broadcast dialling

PostPosted: Thu Jul 18, 2013 7:34 pm
by gardo
You can check this HOWTO: http://goautodial.org/projects/goautodialce/wiki/UpgradeCE21to30. This will help you upgrade your GOautodial 2.1 to 3.0. 8)

cbsys wrote:Unfortunately mine isnt quite so straightforward.

Yum wont do updates yet because theres a few things now requiring php 5.3 and the system is running php 5.1
I will need to clean a few things up first to resolve all the dependancies!