Hi Rajeev,
The setup is all on one box.
This is a chunk from the asterisk CLI when making the call:
- Code: Select all
-- Executing AGI("Local/901142231278@default-48b3,2", "AGI(agi://127.0.0.1:4577/call_log") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/AGI(agi://127.0.0.1:4577/call_log
-- AGI Script AGI(agi://127.0.0.1:4577/call_log completed, returning 0
-- Executing Dial("Local/901142231278@default-48b3,2", "SIP/01142231278@10.1.0.100|50|tTo") in new stack
-- Called 01142231278@10.1.0.100
-- SIP/10.1.0.100-b44053a0 is ringing
-- SIP/10.1.0.100-b44053a0 is making progress passing it to Local/901142231278@default-48b3,2
== Parsing '/etc/asterisk/manager.conf': Found
== Manager 'sendcron' logged on from 127.0.0.1
== Parsing '/etc/asterisk/manager.conf': Found
== Manager 'sendcron' logged on from 127.0.0.1
Oct 26 10:13:01 NOTICE[9674]: rtp.c:331 process_rfc3389: Comfort noise support incomplete in Asterisk (RFC 3389). Please turn off on client if possible. Client IP: 10.1.0.100
== Manager 'sendcron' logged off from 127.0.0.1
== Manager 'sendcron' logged off from 127.0.0.1
== Refreshing DNS lookups.
== Spawn extension (default, 901142231278, 2) exited non-zero on 'Local/901142231278@default-48b3,2'
-- Executing DeadAGI("Local/901142231278@default-48b3,2", "agi://127.0.0.1:4577/call_log") in new stack
== Manager 'sendcron' logged off from 127.0.0.1
-- AGI Script agi://127.0.0.1:4577/call_log completed, returning 0
-- Executing DeadAGI("Local/901142231278@default-48b3,2", "agi://127.0.0.1:4577/VD_hangup--HVcauses--PRI-----NODEBUG-----0-----CANCEL----------)") in new stack
-- AGI Script agi://127.0.0.1:4577/VD_hangup--HVcauses--PRI-----NODEBUG-----0-----CANCEL----------) completed, returning 0
But then we still wait 1-2mins before a new call gets placed.
When the Dial part runs we get an entry in the vicidial_auto_calls table with the call set to SENT, When the Hangup script is called the entry remains unchanged. I do not know much (yet) about Perl, but the VD_hangup part of FastAGI_log.pl does not seem to handle the parameter "CANCEL" anywahere that seems to be passed (my understanding of this may be wrong though).
After a little while, the entry in the table does eventually get deleted by what I presume is this section of AST_VDautodial:
- Code: Select all
### delete call records that are SENT for over 2 minutes
$stmtA = "DELETE FROM vicidial_auto_calls where server_ip='$server_ip' and call_time < '$XDSQLdate' and status NOT IN('XFER','CLOSER','LIVE')";
$affected_rows = $dbhA->do($stmtA);
$event_string = "| lagged call vac agent DELETED $affected_rows|$XDSQLdate|";
&event_logger;
As soon as that entry goes from the table, Vicidial kicks in again and dials the next number. So from this I am guessing that the VD_hangup is not doing something that perhaps it should with the entry?
This probably would not be a massive problem with a large number of seats as aggressive predictive dialling would help, but we are running small campaigns with sometimes just one or two agents calling. This means that if say 3 calls dont get through, the agent would be sat for nearly ten minutes before getting a call and manual dialling would be faster
Just to double check I have been through the list perl modules that are listed in scratch install. We also added Getopt::Long as it is mentioned in a couple of scripts, but that has not helped.
Hopefully it is something blindingly simple and obvious that I have done wrong, but everything else seems to be ok.
Any pointers would be much appreciated as we really want this to work.
Thanks.
Chris